1

我正在尝试检查此功能是否甚至可以使用 Solr 实现。

我定义了一个文本字段,并在查询分析器上定义了一个StopFilterFactory和一个PorterStemFilterFactory

我使用edsimax作为请求处理程序。

在我当前的实现中,如果我搜索:
q = "this is a phrasing query" this is not phrasing

lucene 查询将是:(请原谅我的伪语法)
text:"this ? ? phras query" | 文字:这个 | 文本:短语

我想得到的是:
文本:“这是一个短语查询”| 文字:这个 | 文本:短语

换句话说,我想将用引号括起来的短语的行为设置为:
只有在没有任何标记的整个短语出现在文档中时,文档才会匹配。

我理解这可能通过定义一个不会进行任何处理的附加字段并增加它对 edismax 配置的提升来实现。

但这将返回不包含确切短语的文档的匹配项。

这可以在 Solr 上实现吗?如何?

4

1 回答 1

2

How about matching different parts of the query against separate fields? Either through a fq to filter against text_exact or through regular search syntax for scoring as well: text_exact:"this is a phrasing query" this is not phrasing where the last terms should be searched against the default search field or qf iirc.

于 2014-07-01T09:10:57.353 回答