【Elasticsearch】14 ES文档的基本操作 match_phrase【短语匹配】 multi_match【多字段匹配】

1、match_phrase 【短语匹配】
将需要匹配的值当成一个整体单词(不分词)进行检索

GET bank/_search
{
  "query": {
    "match_phrase": {
      "address": "mill road"
    }
  }
}

查出address 中包含mill road 的所有记录,并给出相关行得分。

在这里插入图片描述
2、 multi_match 【多字段匹配】


GET bank/_search
{
  "query": {
    "multi_match": {
      "query": "mill", // 匹配内容
      "fields": [  //字段名称
        "address",
        "state"
      ]
    }
  }
}


state 或者address 包含mill
在这里插入图片描述

3、 match 【匹配查询】

基本类型(非字符串、精确匹配)

GET bank/_search
{
    "query":{
        "match":{
            "account_number":"20"
        }
    }
}

GET bank/_search
{
    "query":{
        "match":{
            "address":"Hwy"
        }
    }
}

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Elasticsearch 中,`multi_match` 查询可以用于在多个字段中执行全文搜索。它可以在一个查询中匹配多个字段,并根据相关性对结果进行排序。 以下是 `multi_match` 查询的用法示例: ```json { "query": { "multi_match": { "query": "search keyword", "fields": ["field1", "field2", "field3"], "type": "best_fields" } } } ``` 在上面的示例中,我们使用 `multi_match` 查询来搜索包含 "search keyword" 的文档。查询将会在 "field1"、"field2" 和 "field3" 这三个字段中进行匹配。在这个查询中,我们使用了 `"type": "best_fields"` 参数来指定匹配类型为最佳字段类型。这意味着 Elasticsearch 会根据相关性评分找到最佳匹配字段,并根据评分对结果进行排序。 除了 `"type": "best_fields"`,`multi_match` 查询还支持其他匹配类型,如: - `"type": "most_fields"`:将匹配的结果合并起来,相关性最高的字段权重更高。 - `"type": "cross_fields"`:将查询拆分为单个词项,然后在所有字段中进行匹配,并且所有字段的权重相等。 - `"type": "phrase"`:将查询视为短语进行匹配,并根据短语匹配的频率和位置进行评分。 您可以根据您的需求选择适当的匹配类型。还可以使用其他参数来进一步定制 `multi_match` 查询,如 `operator`、`minimum_should_match`、`fuzziness` 等。 希望这个示例能够帮助您理解和使用 `multi_match` 查询。如果您有其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值