在solr文本查询中显示所有结果

Show all the results in solr textual query

我在 solr 中有以下简单查询,我想在其中根据名称与文本的相似性来解决所有记录 ("Olive Tasting Room"):

查询:姓名:"Olive Tasting Room"

但是当我在 solr 上搜索它时 returns 只有一个最相似的文档。这是我想要根据排名(与我的查询相似)对所有文档进行排序的列表。

我应该如何在 sorl/lucene 中执行此操作?

当您使用 `field:"Term Term2" 语法时,您是在进行短语搜索 - 即,您希望这些术语一个接一个地出现。

处理更多 "natural" 查询的最佳方法是使用 edismax 查询解析器。您可以通过在 URL 中使用 defType=edismax 来完成此操作。改成edismax后,可以在q-q=Olive Tasting Room中输入query本身(如果直接输入URL中可以适当转义),qf=name(qf是"query fields" 的缩写,edismax 处理程序应该查询哪些字段。

您还可以使用 pf3=text 参数来提升文本中包含查询中的三个单词(而 pf2 仅两个单词)的任何文档。