我在Solr中设置了全新的代码,但未更改任何默认设置。我索引了以下两个文件:
<add>
<doc>
<field name="id">weight loss</field>
<field name="text_en">weight loss</field>
</doc>
</add>
和
<add>
<doc>
<field name="id">weight loss2</field>
<field name="text_en">I strongly suspect that weight loss .</field>
</doc>
</add>
我执行一个简单的简单短语查询:
select?hl.fl=text_en&hl=on&indent=on&q="weight loss"&wt=json
我将两个文件都作为结果但没有突出显示!
"response":{"numFound":2,"start":0,"docs":[
{
"id":"weight loss",
"text_en":["weight loss"],
"_version_":1545688757336801280},
{
"id":"weight loss2",
"text_en":["I strongly suspect that weight loss ."],
"_version_":1545688757344141312}]
},
"highlighting":{
"weight loss":{},
"weight loss2":{}}}
当我在前面提到的查询中添加参数df = text_en时,确实得到了突出显示,但只有一个结果!
"response":{"numFound":1,"start":0,"docs":[
{
"id":"weight loss",
"text_en":["weight loss"],
"_version_":1545688757336801280}]
},
"highlighting":{
"weight loss":{
"text_en":["<em>weight loss</em>"]}}}
同样,当我包含df = text_en参数但从短语中删除引号时:
http://localhost:8983/solr/test2/select?df=text_en&hl.fl=text_en&hl=on&indent=on&q=weight loss&wt=json
我根本不了解这种行为。为什么在第一种情况下我没有突出显示?为什么在第二种和第三种情况下分别只有一个匹配而没有匹配?
将text_en的类型更改为text_general,以便在所有情况下都可以突出显示。
<field name="text_en" type="text_general" indexed="true" stored="true"/>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句