当前位置:   article > 正文

Elasticsearch 7.12 API 文档翻译_elasticsearch7.12 api

elasticsearch7.12 api

Query DSL

全文检索

全文检索可以让你搜索已被分词的域,例如邮件的正文内容。查询字符串使用索引期间应用于字段的相同分析器处理查询字符串。
包含了已下查询方式:

区间查询

允许对匹配项进行细粒度控制的顺序和接近性的全文查询。
根据匹配项的顺序和接近程度返回文档
间隔查询使用匹配规则,该规则由一小组定义构成。然后将这些规则应用于指定字段中的术语。
定义产生的最小间隔序列跨越了文本主体中的各个术语。这些间隔可以由父源进一步合并和过滤

样例

以下间隔搜索将返回包含以下内容的文档: 最喜欢的食物,没有任何缝隙,然后在my_text字段中添加热水或冷粥

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "all_of" : {
          "ordered" : true,
          "intervals" : [
            {
              "match" : {
                "query" : "my favorite food",
                "max_gaps" : 0,
                "ordered" : true
              }
            },
            {
              "any_of" : {
                "intervals" : [
                  { "match" : { "query" : "hot water" } },
                  { "match" : { "query" : "cold porridge" } }
                ]
              }
            }
          ]
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/7.12/query-dsl-intervals-query.html

Intervale Query

时间间隔的顶级参数

(必填,规则对象)您要搜索的字段
此参数的值是一个规则对象,用于根据匹配的术语,顺序和接近度来匹配文档
有效的规则包含如下:

  • match
  • prefix
  • wildcard
  • fuzzy
  • all_of
  • any_of

match规则参数

match 参数 匹配以分词的文本

query
         (必需,字符串)希望在提供的<field>中找到的文本
  • 1
max_gaps
        (可选,整数)匹配项之间的最大位置数。除此以外的术语均不视为匹配项。默认为-1
  • 1
ordered
        (可选,布尔值)如果为true,则匹配项必须以其指定顺序出现。默认为false        
  • 1
analyzer
       (可选,字符串)分析器,用于分析查询中的术语。默认为顶级<field>的分析器          
  • 1
filter
       (可选,间隔过滤器规则对象)可选间隔过滤器    
  • 1
use_field
     (可选,字符串)如果指定,则匹配此字段而不是顶级<field>的间隔。      
       使用该字段中的搜索分析器分析术语
  • 1
  • 2

Prefix 规则参数

前缀规则匹配以指定字符集开头的术语,此前缀可以扩展以匹配最多128个术语,如果前缀匹配的项超过128个,Elasticsearch返回错误,您可以在字段映射中使用index-prefixes选项来避免此限制.

prefix
   必需,字符串)您希望在顶级<field>中找到的术语的开头字符
  • 1
analyzer
 (可选,字符串)分析器,用于规范化前缀。默认为顶级<field>的分析器       
  • 1
use_field
  可选,字符串)如果指定,则匹配此字段而不是顶级<field>的间隔
  除非使用单独的分析器,否则使用此字段中的搜索分析器将前缀标准化
  • 1
  • 2

通配符规则参数

通配符规则使用通配符模式匹配术语,此模式最多可以扩展为匹配128个字词,如果模式匹配的项超过128个,Elasticsearch返回错误。

pattern
(必需,字符串)通配符模式,用于查找匹配项
  • 1
analyzer
  可选,字符串)分析器,用于规范化模式。默认为顶级<field>的分析器
  • 1
user_field
   (可选,字符串)如果指定,则匹配此字段而不是顶级<field>的间隔
  • 1
模糊规则查询

模糊规则匹配与提供的术语相似的术语,在由模糊度定义的编辑距离内,如果模糊扩展匹配128个以上的项,Elasticsearch返回错误。

terms

(必需,字符串)要匹配的术语

prefix_length

(可选,整数)创建扩展时保留不变的开始字符数。默认为0

transpositions

(可选,布尔值)指示编辑是否包括两个相邻字符的转置(ab→ba)。默认为true

fuzziness

(可选,字符串)匹配允许的最大编辑距离。有关有效值和更多信息,请参见模糊性。默认为自动

analyzer

(可选,字符串)分析器,用于对术语进行规范化。默认为顶级的分析器

use_field

(可选,字符串)如果指定,则匹配此字段而不是顶级的间隔

all_of 规则参数

all_of规则返回匹配其他规则组合的匹配项

intervals

必需,规则对象数组)要组合的规则数组。所有规则都必须在文档中产生匹配项,以使整个源匹配

max_gaps

可选,整数)匹配项之间的最大位置数。由规则产生的间隔比此间隔更远的间隔不视为匹配项。默认为-1

ordered

(可选,布尔值)如果为true,则规则产生的间隔应按指定的顺序显示。默认为false

filter

(可选,间隔过滤器规则对象)用于过滤返回的间隔的规则

any_of 规则参数

any_of规则返回其任何子规则产生的间隔

intervals

(必需,规则对象数组)要匹配的规则数组

filter

(可选,间隔过滤器规则对象)用于过滤返回的间隔的规则

filter规则参数

过滤规则基于查询返回间隔。有关示例,请参见过滤器示例

after

(可选,查询对象)用于返回间隔的查询,该间隔遵循过滤规则的间隔

before

(可选,查询对象)查询用于返回在过滤规则的时间间隔之前发生的时间间隔

contained_by

(可选,查询对象)用于返回过滤规则中某个间隔所包含的间隔的查询

containing

(可选,查询对象)用于返回包含来自过滤规则的间隔的间隔的查询。

not_contained_by

(可选,查询对象)用于返回过滤规则中某个间隔未包含的间隔的查询

not_containing

(可选,查询对象)用于返回不包含来自过滤规则的时间间隔的时间间隔的查询

not_overlapping

(可选,查询对象)查询用于返回与过滤规则中的间隔不重叠的间隔

overlapping

(可选,查询对象)用于返回与过滤规则中的间隔重叠的间隔的查询

script

(可选,脚本对象)用于返回匹配文档的脚本。该脚本必须返回布尔值true或false。有关示例,请参见脚本过滤器。

Filter Example

以下搜索包括过滤规则。它返回文档,文档中彼此之间有10个位置的单词“ hot”和“粥”,而中间没有“ salty”

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "match" : {
          "query" : "hot porridge",
          "max_gaps" : 10,
          "filter" : {
            "not_containing" : {
              "match" : {
                "query" : "salty"
              }
            }
          }
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

最小限度

间隔查询始终将间隔最小化,以确保查询可以线性运行。有时这可能会导致令人惊讶的结果,尤其是在使用max_gaps限制或过滤器时。

POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "match" : {
          "query" : "salty",
          "filter" : {
            "contained_by" : {
              "match" : {
                "query" : "hot porridge"
              }
            }
          }
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "all_of" : {
          "intervals" : [
            { "match" : { "query" : "the" } },
            { "any_of" : {
                "intervals" : [
                    { "match" : { "query" : "big" } },
                    { "match" : { "query" : "big bad" } }
                ] } },
            { "match" : { "query" : "wolf" } }
          ],
          "max_gaps" : 0,
          "ordered" : true
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
POST _search
{
  "query": {
    "intervals" : {
      "my_text" : {
        "any_of" : {
          "intervals" : [
            { "match" : {
                "query" : "the big bad wolf",
                "ordered" : true,
                "max_gaps" : 0 } },
            { "match" : {
                "query" : "the big wolf",
                "ordered" : true,
                "max_gaps" : 0 } }
           ]
        }
      }
    }
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/457693
推荐阅读
相关标签
  

闽ICP备14008679号