デフォルトの検索条件がいろいろ OR になっているのを AND にする


1) autoGeneratePhraseQueries属性
トークナイズ後の検索条件を AND にするか OR にするかのパラメータ


デフォルトでは Kuromoji を使って形態素解析する フィールドタイプ text_ja のautoGeneratePhraseQueriesは OR (false) になっています。
このため「北川景子」で検索すると検索式は「北川 OR 景子」として生成され「北川景子」に加え「北川博敏」や「竹下景子」もヒットします。
北川景子」だけにしたい場合にはschema.xmlを編集して autoGeneratePhraseQueries を true にします。



2) defaultOperator
「AKB youtube」で検索したときに生成される検索式を
「AKB OR youtube」とするか
「AKB AND youtube」とするかの設定。


デフォルトはORになっています。
ANDにするには、solrconfig.xmlの requestHandler name="/select"
AND を追加します。

  <requestHandler name="/select" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="echoParams">explicit</str>
       <int name="rows">10</int>
       <str name="df">text</str>
       <str name="q.op">AND</str>
     </lst>

P.31 とか P.42 とかを参考にさせてもらいました。