3

我在我的 Solr 实例中启用了词干,我假设为了在不禁用词干的情况下执行精确的词搜索,就像将词放在引号中一样简单。然而,情况似乎并非如此?

有没有一种简单的方法可以实现这一目标?

4

2 回答 2

9

有一种简单的方法,如果您指的是作为模糊搜索的一部分的“slop”(所需的相似性)(请参阅此处的Lucene 查询语法)。

例如,如果我执行此搜索:

 q=field_name:determine

我看到包含“确定”、“确定”、“确定”等的结果。如果我然后像这样修改查询:

 q=field_name:determine~1

我只看到包含“确定”一词的结果。这是因为我指定了所需的相似性 1,这意味着“完全匹配”。我可以在 0 到 1 之间指定这个值。

于 2011-06-02T17:51:08.897 回答
3

您可以做的另一件事是索引相同的文本,而不在一个字段中提取词干,而在另一个字段中提取词干。提升非词干领域,应该更喜欢词的精确版本而不是词干版本。当然,您也可以编写自己的查询解析器,将引用的短语仅定向到非词干字段。

于 2011-06-04T07:04:11.537 回答