实际上,我在Solr搜索中面临一个问题。我在一个作者字段中存储了两个值,例如“ deep kumar-singh”和“ deep kumar singh”。当我搜索作者时:“ deep kumar-singh”它返回两个结果。但我只希望一个结果是准确的结果。
这是我的字段描述:
<field name="author" type="text_general" indexed="true" stored="true" multiValued="true"/>
我创建了authorFacet Field以获取作者方面。
<field name="authorFacet" type="string_ci" indexed="true" stored="false" multiValued="true"/>
[当我选择authorFacet时,两个作者都返回计数1喜欢:
deep kumar-singh(1)
deep kumar singh(1)
我只希望得到一个准确的结果。
我如何得到这个?,任何建议都会很有帮助。
将fieldType
的author
从text_general
更改为字符串,然后重新索引数据。您会得到理想的结果。作为具有字符串作为其类型的字段,它将不会创建该单词的任何标记,并且将有助于实现完全匹配。
此外,也可以从solr admin页面进行分析。进入solr管理页面。选择核心/集合。单击分析。您可以选择该字段并检查索引时间标记和查询时间(如果它们符合您的期望)。