拡張検索のために複数の query に対応
2006-07-13


Namazu の欠点のひとつに様々な検索を行うためには、複雑な検索式を書かなければならないことにあります。
しかし、一般利用者が複雑な検索式を入力して検索することはほとんどありえません。

今回、複数の query に対応しました。(HEAD のみ)
複数の query に対応することにより、複数の検索条件での絞り込みが行いやすくなります。

CGI パラメータに query1 〜 query8 と、それぞれに対応する querymode1〜 querymode8 を追加しました。

似た機能に subquery がありますが、subquery 1つだけでは不足するので今回は query と同等の機能のものを8つ拡張することにしました。
複数の query は、subquery の機能を含むため、subquery は廃止しても良いのですが、互換性のために残してあります。

query と subquery の関係は、従来 "( {query} ) {subquery}" という and 検索でした。
今回は "( ( {query} ) ( {query1} ) ( {query2} ) ... ) {subquery}" ということになります。

なお、query, query1 〜 query8 のうち少なくとも1つは値が設定されていなければなりませんが、残りは省略可能です。
(query1〜query8を省略した場合は従来と同じ動作となります。)

例えば、次のような拡張検索を行うことができます。

・インターフェイス
検索語: [        ] [検索] 検索のヒント
タイトル: [        ]
著者: [        ]

・内容
検索語やタイトル、著者のいずれか、あるいはそれらを組合せて検索が行えます。

・設定
検索語を query, タイトルを query1, 著者を query2 として、querymode を normal, querymode1 を field:subject、querymode2 を field:from と設定します。
[開発]

コメント(全0件)
コメントをする


記事を書く
powered by ASAHIネット