search - Solr精确词搜索

标签 search solr

我想配置我的 Solr 搜索引擎,以便与我输入的搜索词完全匹配。

例如。 'taxes' 应该返回带有 'taxes' 而不是 'tax'、'taxation' 等的文件。

任何帮助或提示将不胜感激。

最佳答案

我假设您的字段是 TextField,默认情况下 solr 会对该字段进行模糊搜索。您想要的是将您的字段设置为字符串字段并且不添加标记器,然后您将获得完全匹配。

您甚至可以将精确搜索与模糊搜索结合起来,并使用 DisMax 来提高相对权重。

示例(schema.xml):

<field name="name"             type="string" indexed="true" stored="false" required="true" />
<field name="nameString"       type="string" indexed="true" stored="false" required="true" />
<copyField source="name" dest="nameString"/>

示例(solrconfig.xml):
<requestHandler name="accounts" class="solr.SearchHandler">
    <lst name="defaults">
      <str name="defType">dismax</str>
      <str name="qf">
        nameString^10.0 name^5.0 description^1.0
      </str>
      <str name="tie">0.1</str>
    </lst>
  </requestHandler>

关于search - Solr精确词搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630879/

相关文章:

Solr 不一致的结果计数

java - Shingle filter factory startOffset 必须是非负数,endOffset 必须 >= startOffset

search - 如何使 SOLR 查询语法中的字符可搜索?

java - 如何查找一个数字是否包含在java中的数字范围数组中

python - DNA 字符串中随机基序搜索的意外输出

c++ - 如何对间隔进行二进制搜索

mysql - 是否可以将参数传递给 mysql apache solr?

javascript - 如何从字符串数组中以任意顺序匹配并突出显示所有术语?

python - 如何在文本文件中找到最相关的字符串?

多个串联字段上的 Solr 分面