【问题标题】:elasticsearch search in any child在任何孩子中进行弹性搜索
【发布时间】:2017-04-12 07:36:28
【问题描述】:

这是我的弹性搜索查询, 我想在 data.title 下搜索所有语言,而不是特别是 eng。

如果我输入 data.title 则有 0 个结果。

{
  "bool": {
    "must": [
      {
        "span_near": {
          "clauses": {
            "0": {
              "span_multi": {
                "match": {
                  "wildcard": {
                    "data.Title.eng": "method"
                  }
                }
              }
            },
            "1": {
              "span_multi": {
                "match": {
                  "wildcard": {
                    "data.Title.eng": "system"
                  }
                }
              }
            }
          },
          "slop": 1,
          "in_order": false
        }
      }
    ]
  }
}

【问题讨论】:

  • 你能发布你的架构映射吗?

标签: search elasticsearch full-text-search


【解决方案1】:

尝试使用 query_string 代替通配符查询:-

示例:-

   {
        "query": {
            "query_string": {
                "default_field": "data.Title.*",
                "query": "*zz* *ell*"
            }
        }
    }

query_string 在 search 中比通配符更有效。 要了解它们之间的更多区别,请查看此link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-26
    • 2020-12-01
    • 2014-06-07
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多