elasticsearch查询过滤器“或”使用通配符

时间:2014-10-20 14:24:14

标签: elasticsearch wildcard

我尝试使用elasticsearch使用通配符(使用*)进行自动完成功能的查询。

它与bool query一样合适(值可以包含*):

{
  "query": {
    "bool": {
      "must": [
        {
          "query_string": {
            "query": value
          }
        }
      ]
    }
  }
}

但现在我只想搜索某些字段(T_FAMILYT_GENUST_SCIENTIFICNAME)中的输入值,并使用通配符$和*:

{
  "fields": [
    "T_FAMILY",
    "T_GENUS",
    "T_SCIENTIFICNAME"
  ],
  "query": {
    "filtered": {
      "filter": {
        "or": [
          {
            "term": {
              "T_FAMILY": value
            }
          },
          {
            "term": {
              "T_GENUS": value
            }
          },
          {
            "term": {
              "T_SCIENTIFICNAME": value
            }
          }
        ]
      }
    }
  }
}

查询工作但通配符没有。 我找不到原因。 映射中的3个字段为analyzed

0 个答案:

没有答案