バインディングの練習用にRastのバインディングを書いてみる
なぜRastかというと、インターフェースがシンプルだったから・・・
ただ、rast_db_create時のproperties(タグ付けに使ったりする)の指定はちょっと複雑というか、入り組んだ感じがする
目標は、とりあえずrast/db.hで宣言されてる関数のインターフェースを提供すること
それ以外のものに関しては、優先度を下げてボチボチやっていく
# rast-configにPATHが通っていれば、--with-rast-configは不要 ./configure -with-rast-config=/home/uchizono/usr/bin/rast-config make make check
簡単な使い方
(let ( (db (rast-db-open "idx" :rw-mode "r"))) (rast-db-search db "検索ワード" :num_items 10 :need_summary #t :summary_nchars 50) (rast-db-close db) )
検索に関しては、こんな感じでしょうか
rast-db-search関数は、<rast-result>のインスタンス返す。
この<rast-result>はhit_countスロットにヒット数の総数を、itemsスロットに検索結果のリスト持っている。
検索結果のリストは<rast-result-item>のインスタンスで、scoreやpropertiesといったスロットを持っている。