使用Solr进行多字搜索

时间:2013-05-31 12:04:41

标签: solr

我遇到了Solr的问题,我无法将不精确的搜索与多个单词进行协调。

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

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

问题在于,如果我的查询长达几个字(例如, Gotham City ),则会返回包含 Gotham 的所有结果以及包含 City <的所有结果/ em>,而不是只返回包含 Gotham City 的所有结果。

如果我将查询更改为query=ctnt_val:"keyword"它可以正常工作,但我失去了执行不精确搜索的能力( lon 将不再返回伦敦)。如果我query=ctnt_val:*"keyword"*我从我的数据库中获得所有结果,这显然不是我想要的。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

默认搜索处理程序使用OR作为default query operator

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

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