首页 > 解决方案 > 如何在 solr 搜索中找到确切的关键字?

问题描述

实际上,我在 solr 搜索中面临一个问题。有一个作者字段,我在其中存储了两个值,例如“deep kumar-singh”和“deep kumar singh”。当我搜索作者时:“deep kumar-singh”它返回两个结果。但我只希望一个结果是准确的。

这是我的字段描述:

<field name="author" type="text_general" indexed="true" stored="true" multiValued="true"/>

我创建了 authorFacet 字段来获取作者方面。

<field name="authorFacet" type="string_ci" indexed="true" stored="false" multiValued="true"/>

当我选择 authorFacet 时,它为两个作者返回计数 1 喜欢:

深库马尔辛格(1)

深库马尔·辛格(1)

我只想要一个准确的结果。

我怎样才能得到这个?,任何建议都会非常有帮助。

标签: phpsolrphp-7.1solr-query-syntaxsolr7

解决方案


fieldType将of更改author为字符串text_general并重新索引数据。你会得到想要的结果。作为以字符串为类型的字段,它不会创建单词的任何标记,并有助于实现精确匹配。

此外,同样可以从 solr 管理页面进行分析。转到 solr 管理页面。选择核心/集合。点击分析。您可以选择字段并检查索引时间标记和查询时间是否符合您的期望。

有了这个,作者不需要 2 个不同的字段。您可以使用一个具有字符串作为字段类型的字段,可用于分面和搜索。

solr 完全匹配


推荐阅读