如果業務需要我們對多個field同時進行檢索,有沒有什么好的辦法呢?非常幸運的是Solr為我們提供了copyField對多個field進行索引和檢索。然而配置也非常簡單。
修改schame.xml,添加
<field name="search_item" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="title" dest="search_item"/> <copyField source="summary" dest="search_item"/>
修改后的schema.xml如下:
<!--增加title和summary字段--> <field name="title" type="text_ik" stored="true" indexed="true"/> <field name="summary" type="text_ik" stored="true" indexed="true"/> <!--按search_item進行檢索時,會同時檢索title和summary--> <field name="search_item" type="text_ik" indexed="true" stored="false" multiValued="true"/> <copyField source="title" dest="search_item"/> <copyField source="summary" dest="search_item"/>
保存后並重啟tomcat並重建索即可。當通過search_item這個field進行檢索時,solr會同時去檢索title和summary這兩個field是否包含相應的關鍵詞,從而達到多個field同時檢索的目的。
