solr上的多个单词查询

Fil*_*ype 11 solr

  • 我正在使用solr 3.3.0使用示例文件夹开箱即用
  • solrQueryParser defaultOperator ="OR"

我的问题是,当我搜索多个单词短语时,Solr似乎没有返回好的结果.

以下搜索没有返回结果.

  1. HTTP://本地主机:8080/solr的/选择/ Q =屋顶+定影

然而,当我搜索屋顶修理时,它们都会返回一些好的结果.

  1. http:// localhost:8080/solr/select /?q = roof 返回4个结果
  2. http:// localhost:8080/solr/select /?q = fix 返回3个结果

在查询"屋顶修复"时,我希望solr返回7个结果.屋顶的4条记录 和3条修复记录.

是否需要进行任何特殊配置?

Mic*_*lon 9

您刚刚错误地表达了您的查询.

从管理页面尝试以下查询:

(屋顶或固定)

或者,如果您想在特定字段中找到它:

fieldname :(屋顶或固定)

当您向SOLR提供类似"屋顶修复"的查询时,您实际上要求所有在默认字段中具有"屋顶"和"修复"的文档(或默认的dismax字段集.更改含义的唯一方法是重写您的用户输入的查询.这就是我们的工作,但规模更大.我们有一个前端界面,提供了大量选项并从中生成SOLR查询.人们可以在特定字段中输入搜索词如果有多个单词并且没有引用,我们添加AND.然后我们将所有填写的字段OR在一起.有些字段很特殊,有一个MIN和MAX版本,我们把它变成一个范围查询:[0 TO 125000]并且有一些下拉列表支持多项选择,我们也将其转换为OR,例如State:("WA" OR "CA" OR "OR" OR "NV")