在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
仅两个单词)的任何文档。
我在 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
仅两个单词)的任何文档。