单个字段上的solr多个范围导致错误

时间:2015-01-07 14:43:30

标签: solr edismax

我有一个使用solr的drupal站点。它工作正常,除非我对同一个字段有2个范围查询,然后它中断,我得到以下错误:

  

尝试使用Solr搜索时发生错误:“400”状态:错误请求:错误请求{“错误”:{“msg”:“org.apache.solr.search.SyntaxError:无法解析'((im_field_products_collection) $ field_products $ field_product_winch_line_length:[\“90 \”':遇到\“\”在第1行第83列。\ n期待以下之一:\ n \“TO \”... \ n ... \ n .. 。\ n“,”“代码”:400}}。

这是模块为该字段生成的查询

  

(({!tag = facet:field_products_collection:field_products:field_product_winch_line_length}((im_field_products_collection $ field_products $ field_product_winch_line_length:[“90”TO ])(im_field_products_collection $ field_products $ field_product_winch_line_length:[ TO“99 “))))OR({!tag = facet:field_products_collection:field_products:field_product_winch_line_length}((im_field_products_collection $ field_products $ field_product_winch_line_length:[”100“TO ])(im_field_products_collection $ field_products $ field_product_winch_line_length:[ TO “109”]))))

一切看起来都对我来说,并且它只对字段上的单个范围查询工作正常,是否有人知道查询的哪个部分会导致错误?我正在使用edismax解析器。

1 个答案:

答案 0 :(得分:0)

经过几个小时的研究,模块将标记字段添加到查询的每个部分的开头,SOLR不喜欢这个部分。通过仅在开头添加标记注释并删除第二个注释,查询现在看起来效果很好。