Fork me on GitHub

Solr5.3.1通过copyField设置多个field(字段)同时检索

  如果业务需要我们对多个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同时检索的目的。

posted @ 2015-12-16 16:25  秋楓  阅读(2779)  评论(0编辑  收藏  举报