语言分析器不使用span查询elasticsearch?

时间:2017-07-26 23:51:43

标签: elasticsearch

我的索引 my_index 且类型 my_type

{
  "mappings": {
    "my_type": {
      "properties": {
        "my_text": {
          "type": "text",
          "analyzer": "spanish"                 
        }
      }
    }
  }
}

然后我想搜索2个或更多单词,有或没有间隙,但是按照指定的顺序。

为此我编写了以下查询:

{
  "query": {
    "span_near": {
      "clauses": [
        {
          "span_term": {
            "my_text": "creación"
          }
        },
        {
          "span_term":  {
            "my_text": "fundación"
          }
        }
      ],
      "slop":4,
      "in_order": true
    }
  }    
}

查询未生成结果。但如果我搜索“creacion”和“fundacion”(没有变音符号),查询将显示结果。 如果我做了一个phrase_query“creacióndeunafundación”会产生结果,那么我认为在跨度查询中不支持语言分析器?

提前致谢...

1 个答案:

答案 0 :(得分:0)

跨度查询不会被分析,也不会被阻止。它们是由API公开的低级查询,您需要在执行SPAN查询之前知道它是如何存储的。