Link Search Menu Expand Document Documentation Menu

前缀查询

使用 prefix 查询搜索以特定前缀开头的词项。例如,以下查询搜索 `speaker` 字段中包含以 `KING H` 开头的词项的文档:

GET shakespeare/_search
{
  "query": {
    "prefix": {
      "speaker": "KING H"
    }
  }
}

要提供参数,您可以使用与上述查询等效的查询,并采用以下扩展语法:

GET shakespeare/_search
{
  "query": {
    "prefix": {
      "speaker": {
        "value": "KING H"
      }
    }
  }
}

参数

查询接受字段名称 (<field>) 作为顶级参数

GET _search
{
  "query": {
    "prefix": {
      "<field>": {
        "value": "sample",
        ...
      }
    }
  }
}

<field> 接受以下参数。除 value 外,所有参数都是可选的。

参数 数据类型 描述
字符串 要在 `` 中指定的字段中搜索的词项。
提升 浮点数 一个浮点值,指定此字段对相关性得分的权重。高于 1.0 的值会增加字段的相关性。介于 0.0 和 1.0 之间的值会降低字段的相关性。默认值为 1.0。
不区分大小写 (case_insensitive) 布尔型 如果为 `true`,则允许值与索引字段值进行不区分大小写的匹配。默认为 `false`(大小写敏感性由字段的映射决定)。
重写 (rewrite) 字符串 确定 OpenSearch 如何重写和评分多词项查询。有效值包括 `constant_score`、`scoring_boolean`、`constant_score_boolean`、`top_terms_N`、`top_terms_boost_N` 和 `top_terms_blended_freqs_N`。默认为 `constant_score`。

如果 search.allow_expensive_queries 设置为 false,则不执行前缀查询。如果启用了 index_prefixes,则 search.allow_expensive_queries 设置将被忽略,并构建和运行优化后的查询。

剩余 350 字符

有问题?

想要贡献?