【问题标题】:Exception when search by null value in elasticsearch在elasticsearch中按空值搜索时出现异常
【发布时间】:2016-09-30 10:59:24
【问题描述】:

我正在使用 elasticsearch 在我的应用程序中搜索一些记录。

filtered: {
            query: {
                query_string: {
                    query: "*#{term}*",
                    fields: ["name"]
                }
            },
            filter: {
                bool: {
                    must: [
                        {term: {store_id: store_id}},
                        {match: {dealer: dealer}}
                    ]
                }
            }
        }

当某些参数不存在并且为 store_iddealer 传递 nil 值时。 ii 给出以下错误:{"type":"query_parsing_exception","reason":"No text specified for text query" 我想如果store_iddealer 为零,那么它应该显示与查询匹配的所有结果。在elasticsearch中可以吗?

【问题讨论】:

    标签: ruby-on-rails-4 elasticsearch chewy-gem


    【解决方案1】:

    我会说你不能使用匹配或术语查询来做到这一点。

    您可以使用通配符或正则表达式查询来启用通配符搜索,但我建议您在应用程序中处理此问题。

    即,当您的最终用户填写输入“store_id”或“dealer”时,您在查询的 must 子句中附加该值。 否则,您不这样做,您将搜索整个索引。

    【讨论】:

      猜你喜欢
      • 2017-07-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-30
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      • 2011-10-17
      相关资源
      最近更新 更多