拡張検索のために複数の query に対応 ― 2006年07月13日 04時50分45秒
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 と設定します。
しかし、一般利用者が複雑な検索式を入力して検索することはほとんどありえません。
今回、複数の 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 と設定します。
コメント
トラックバック
このエントリのトラックバックURL: http://namazu.asablo.jp/blog/2006/07/13/443513/tb
※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。
コメントをどうぞ
※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。
※なお、送られたコメントはブログの管理者が確認するまで公開されません。