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

简介:   如果业务需要我们对多个field同时进行检索,有没有什么好的办法呢?非常幸运的是Solr为我们提供了copyField对多个field进行索引和检索。然而配置也非常简单。   修改schame.xml,添加   修改后的schema.xml如下:   保存后并重启tomcat并重建索即可。

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

相关文章
|
7月前
|
PHP
Elasticsearch模糊查询单字段多字段
Elasticsearch模糊查询单字段多字段
54 0
|
7月前
|
Java API iOS开发
Elasticsearch 字段别名 field-alias
Elasticsearch 字段别名 field-alias
120 0
|
7月前
|
搜索推荐 JavaScript Java
Elasticsearch 8.X 如何依据 Nested 嵌套类型的某个字段进行排序?
Elasticsearch 8.X 如何依据 Nested 嵌套类型的某个字段进行排序?
94 0
|
自然语言处理 索引
09 Lucene索引库查询 - query子类查询
09 Lucene索引库查询 - query子类查询
48 0
|
NoSQL MongoDB
MongoDB(14)- 查询 null 字段或缺少某个字段的文档
MongoDB(14)- 查询 null 字段或缺少某个字段的文档
351 0
|
Apache 数据格式 算法
Elastic:查询时字段runtime fields不显示,如何处理?
很多时候runtime field是结合一起使用的,这时没有任何问题,因为这类需要一般将聚合结果显示出来就行了。但是当我们需要将runtime fields也查询出来时发现查询结果中是不会显示它们的,下面我们通过具体的案例来解决这个问题
110 0
|
存储 JSON 自然语言处理
Elasticsearch Mapping之字段类型(field datatypes)
Elasticsearch Mapping之字段类型(field datatypes)
Elasticsearch Mapping之字段类型(field datatypes)