重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“solr分词查询怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“solr分词查询怎么使用”吧!
成都创新互联服务项目包括秦州网站建设、秦州网站制作、秦州网页制作以及秦州网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,秦州网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到秦州省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
分词字段:/CaseInfo/案/@DocContent
分词器:IKAnalyzer2012
测试关键字:抢劫黄金
返回字段:/CaseInfo/案/@DocContent
分别插入3条数据,向DocContent插入不同的值
1、 查询条件:*:*
查询结果如下:
2、查询条件:\/CaseInfo/案/@DocContent:抢劫黄金
查询结果如下:
3、查询条件:\/CaseInfo/案/@DocContent:"抢劫黄金"
注意:抢劫黄金加了引号。
查询结果如下:
4、查询条件:\/CaseInfo/案/@DocContent:抢劫 AND \/CaseInfo/案/@DocContent:黄金
查询结果如下:
5、查询条件:\/CaseInfo/案/@DocContent:抢劫 OR \/CaseInfo/案/@DocContent:黄金
查询结果如下:
6、查询条件:\/CaseInfo/案/@DocContent:抢劫 黄金
注意:抢劫与黄金中间添加空格
查询结果为空:
由于查询结果与solr解析的查询语句有关,勾选界面左下角的debugQuery,可以得到对应parsedquery_toString值,如下表:
根据上表可以得到下面的分析结果
查询语句表示查询全部数据。
表示查询的DocContent字段经过分词后,必须包含“抢劫”且包含“黄金”。parsedquery_toString值中“+”表示存在操作符,要求符号“+”后面的项必须在字段中存在。经过第一张表分词结果,两条数据满足要求。
a) 抢劫黄金
b) 黄金不要抢劫
加了双引号表示完全匹配,表示查询的DocContent字段经过分词后,必须包含“抢劫黄金”,经过第一张表分词结果,一条数据满足要求。
a) 抢劫黄金
AND表示既满足左条件又满足右条件。DocContent字段经过分词后,既要包含“抢劫”且包含“黄金”。两条数据满足要求。
a) 抢劫黄金
b) 黄金不要抢劫
OR表示或者,满足一个条件就可以。DocContent字段经过分词后,包含“抢劫”或包含“黄金”。三条数据满足要求。三条结果:
a) 抢劫黄金
b) 黄金不要抢劫
c) 太阳黄太阳金抢劫
这里查询结果为空。分析parsedquery_toString值:
+/CaseInfo/案/@DocContent:抢劫 +(+text:黄 +text:金)
表示DocContent字段分词后必须包含“抢劫”,并且text字段必须包含“黄”与“金”才能满足条件。由于我们没有想text字段赋值,所以下旬结果为空。为什么会有text字段的呢?
schema.xml中
在solrconfig.xml中
|
schema.xml中defaultSearchField与solrconfig.xml中df属性都是默认搜索字段的意思(注意:defaultSearchField默认是被注释的),优先级是solrconfig.xml的df高于schema.xml中的defaultSearchField。
设置默认字段的效果,搜索条件为 \/CaseInfo/案/@DocContent:抢劫黄金,中间的空格相当于AND,因此搜索条件等价于 \/CaseInfo/案/@DocContent:抢劫AND text:黄金,所以不会搜索岛结果。
解决方法:
方法1:可以把条件变为 \/CaseInfo/案/@DocContent:(抢劫黄金)。
方法2:搜索条件不变,查询时URL加上df字段值为/CaseInfo/案/@DocContent即可。
到此,相信大家对“solr分词查询怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!