如果业务需要我们对多个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同时检索的目的。
本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/5051498.html,如需转载请自行联系原作者