【问题标题】:How do you perform seperate queries on different fields in Solr using the Extended DisMax QueryParser?如何使用 Extended DisMax QueryParser 对 Solr 中的不同字段执行单独的查询?
【发布时间】:2013-12-05 12:15:16
【问题描述】:
我想使用 edismax 查询解析器在两个具有单独查询的字段上查询 Solr。
我的 Solr 架构包含 2 个字段“标题”和“文本”
我想在“标题”字段中查询“Java”而不是“Javascript”
并在“文本”字段中查询“Hello World”
使用标准的“lucene”查询解析器,它看起来像
标题:(java而不是javascript)和文本:(你好和世界)。您如何使用“edismax”查询解析器做到这一点?
【问题讨论】:
标签:
java
mysql
solr
lucene
【解决方案1】:
q=title:(java AND NOT javascript) AND text:(hello AND world)
会起作用。 Edismax 解析器支持 Lucene 语法。将 debugQuery=true 添加到您的请求中,您将看到 parsedQuery 不像典型的 edismax 查询那样包含 DisjunctionMaxQuery。