Solr5.2.1搜索服务部署——检索多字段

目录

tomcat安装
solr安装
整合mmseg4j2.3.0
关联mysql
增量索引
检索多字段

article表中有title,content,username字段,通过搜索词检索,只要这3个字段中包含搜索词就匹配出来,这时候要怎么办?

Solr是通过q=Field:Search,指定Field进行检索,或者使用默认检索Field,即q=Search。也就是说只能检索一个Field,那么要怎么解决呢?我们可以使用copyfield标签。

<copyField source="title" dest="msg" />

将title内的内容附加到msg当中

编辑schema.xml文件,新建一个field用于存放多个field内的值,该field的multiValued必须设置为true

# vim /usr/local/solr/server/solr/core0/conf/schema.xml
<field name="msg" type="textSimple" indexed="true" stored="false" required="false" multiValued="true" />
<copyField source="title" dest="msg" />
<copyField source="content" dest="msg" />
<copyField source="username" dest="msg" />

重启tomcat,访问http://localhost:8983/solr/core0/select?q=msg:aaa&wt=json

配置默认检索Field

# vim /usr/local/solr/server/solr/core0/conf/schema.xml
<defaultSearchField>msg</defaultSearchField>
# vim /usr/local/solr/server/solr/core0/conf/solrconfig.xml
<requestHandler name="/select" class="solr.SearchHandler">
     <lst name="defaults">
       <str name="df">msg</str>
       ……
     </lst>
</requestHandler>

重启tomcat,访问http://localhost:8983/solr/core0/select?q=aaa&wt=json

你可能感兴趣的:(Solr)