我在将 Solr ExtendedDisMax查询解析器与包含非普通查询中的字段搜索的查询一起使用时遇到问题。
案例如下。
如果我向 SOLR 发送带有参数的 edismax 请求(defType=edismax)
- qf=字段1^10
- q=field2:ciao
- debugQuery=on(用于调试目的)
solr 按照我的预期解析查询,实际上响应的调试部分告诉我
[parsedquery_toString] => +field2:ciao
但是,如果我使表达式稍微复杂一点,例如将条件放入括号中: 1. qf=field1^10 2. q=(field2:ciao) 我得到
[parsedquery_toString] => +(((field1:field2:^2.0) (field1:ciao^2.0))~2)
Solr 似乎无法识别字段语法。
我在文档中没有发现任何关于这种行为的提及,而是他们说
此解析器支持完整的 Lucene QueryParser 语法,包括布尔运算符“AND”、“OR”、“NOT”、“+”和“-”、字段搜索、术语提升、模糊...
这个问题真的让我很恼火,因为即使使用 edismax 解析器,我也想做复杂的布尔和字段查询。
您知道解决此问题的方法吗?
编辑:Solr 版本是 3.6