morit****@razil*****
morit****@razil*****
2007年 12月 26日 (水) 16:43:57 JST
根岸さん。こんにちは。 森と申します。 いまのところ、Senna自身では同義語検索機能を提供していません。 同様の機能を実現するためには、 - インデックス作成時にヒットさせたい文字列を正規化しておく - 検索時に同義語をor条件に展開する ぐらいの手段があると思いますが、 いずれもエンジンの外部で実装可能だと考え、開発を後回しにしていました。 しかし、根岸さんのおっしゃるように、全ての同義語を単純にor条件で結合して 実行するとオーバーヘッドが大き過ぎる場合があるかもしれません。 SennaのAPIをいろいろ組み合わせて実行すれば ある程度オーバーヘッドを緩和できると思いますが、 SQL越しにそれを制御するのは難しそうです。 というわけで、Senna自身での同義語検索機能もそろそろ検討したいと思います。 SQLからはSenna queryのプラグマを使って、Tritonn, Ludiaのどちらからでも 同じ書式で使えるようなものにしたいと思います。 すぐには出来ないと思いますが‥。 今後ともよろしくお願いします。 >>> Yoshiteru Negishi さんは書きました: > 根岸と申します。 > このMLへの投稿は初めてになります。 > 先日より業務でSenna(Tritonn 1.0.8)を使っておりますが、一点どのように実行すればよいのか分からないものがありましたので、質問させてください。 > > 実行したい内容は、例えば > "リンゴ" > で検索したときに、"リンゴ"以外にも > "apple"、"林檎"、"りんご" > などの単語が書かれたレコードもヒットさせたいと言うものです。 > > すぐに思いつく方法としては、検索クエリ発生時に同義語を取得して、or検索を行う方法がありますが、そのような手法ではオーバーヘッドが大きいように感じられます。 > インデックス作成時にこのような同義語を含むレコードの検索を可能とするような、何かしらの機能は組み込まれているのでしょうか。 > > もしよろしければご教示の程、宜しくお願いいたします。 > > -- > 根岸義輝 > > _______________________________________________ > Senna-dev mailing list > Senna****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/senna-dev > バグ報告方法:http://qwik.jp/senna/bug_report.html > -- morita