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



我有一个使用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 列遇到 \"\"。期待以下之一: ... ... ","code":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" 至 ])(im_field_products_collection$field_products$field_product_winch_line_length:[ 至 "109"]))))

对我来说一切看起来都很好,并且只需对字段进行单个范围查询即可正常工作,有谁知道查询的哪一部分会导致错误?我正在使用 edismax 解析器。

经过数小时的研究,该模块将标记字段添加到查询的每个部分的开头,这是 SOLR 不喜欢的。通过在开头仅具有标记注释并删除第二个标记注释,查询现在似乎可以正常工作。

相关内容

  • 没有找到相关文章

最新更新