最近在用solr搭建全文检索功能,从网上查了些资料,走了些弯路,记录下来
网络上对应solr的搭建、分词库的选择、数据库数据的导入步骤写的都是不错的,这里就不累述
需要注意的是,数据导入到solr后,solr的检索,其实不是逐个字段检索的,而是默认把需要检索的字段合并到一个叫做text的内置字段里,再进行搜索的。这里就需要用到schema.xml中的copyField配置。
例如:我希望把title和detail两个字段里的值进行分词检索。那么我就需要在schema.xml中,加入如下描写:
<copyField source="title" dest="text"/>
<copyField source="detail" dest="text"/>
如果加入了中文分词器,则还需要把text字段的type属性设置成你定义的分词器类型
<field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
只有这样,才能实现solr在检索的时候全文检索效果。