【问题标题】:solr multiple ranges on single field cause errorsolr 单个字段上的多个范围导致错误
【发布时间】:2015-01-07 14:43:30
【问题描述】:

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

尝试使用 Solr 搜索时发生错误:“400”状态:错误请求:错误请求{“error”:{“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 ","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 "]))) 或 ({!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 解析器。

【问题讨论】:

    标签: solr edismax


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-16
      • 1970-01-01
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多