elasticsearch 语言分析器不使用span查询elasticsearch?,elasticsearch,elasticsearch" /> elasticsearch 语言分析器不使用span查询elasticsearch?,elasticsearch,elasticsearch" />

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

elasticsearch 语言分析器不使用span查询elasticsearch?,elasticsearch,elasticsearch,我有一个索引my_index和一个类型my_type { "mappings": { "my_type": { "properties": { "my_text": { "type": "text", "analyzer": "spanish" } } } } } 然后我想搜索2个或更多的单词,有或没有空格,但按指定的顺序 为此,我编写了以下

我有一个索引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”(不带发音符号),查询将显示结果。 如果我使用短语查询“creación de una fundación”生成结果,那么我认为span查询中不支持语言分析器


提前感谢…

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

是否好奇AsciFolding筛选器是否有帮助?在短语中,查询可以使用和不使用变音符号,也可以查找词干。感谢您的提示,您认为可以这样做吗?使用
match_-phrase
代替,可能使用
slop
(用于间隙)感谢回复Val,但是如果存在slop,则
match_-phrase
不考虑顺序。