0

我对 Solr 有一个问题,我无法协调不精确的搜索与多个单词。

目前我的 Solr 是这样配置的:query=ctnt_val:*keyword*其中 ctnt_val 是我正在搜索的字段,关键字是我传递的值。

因此,如果我输入lon,它将返回所有结果long , London , ...这就是我想要的。

问题是,如果我的查询是几个词长(例如Gotham City),它将返回包含Gotham的所有结果和包含City的所有结果,而不是只返回包含Gotham City的所有结果。

如果我在查询query=ctnt_val:"keyword"正常工作时更改查询,但我将失去进行不精确搜索的能力(lon将不再返回London)。如果我这样做,query=ctnt_val:*"keyword"*我会从我的数据库中获得所有结果,这显然不是我想要的。

有任何想法吗?

4

1 回答 1

2

默认搜索处理程序使用 OR 作为默认查询运算符

您可以检查使用q=ctnt_val:gotham\ city&q.op=ANDwhich 会将查询运算符设置为 AND 并将所有查询项设为必填项。

gotham\ city-\是从查询中逃脱空间

于 2013-05-31T13:16:12.363 回答