es怎么实现mysql的like查询

使用Elasticsearch的查询DSL中的wildcard查询,可以模拟MySQL的like查询。/product_name/_search?q=product_name:*关键词*&typed_keys=true。

在Elasticsearch中实现MySQL的LIKE查询,可以使用以下步骤:

1、使用match查询进行模糊匹配

es怎么实现mysql的like查询

2、使用wildcard通配符进行模糊匹配

3、使用fuzzy查询进行模糊匹配

4、使用multi_match查询进行多个字段的模糊匹配

下面分别介绍这四种方法:

1. 使用match查询进行模糊匹配

{
  "query": {
    "match": {
      "field_name": {
        "query": "关键词",
        "operator": "and",
        "fuzziness": "AUTO"
      }
    }
  }
}

field_name是需要进行模糊匹配的字段名,关键词是需要匹配的关键词。fuzziness参数设置为AUTO表示自动选择合适的模糊度。

2. 使用wildcard通配符进行模糊匹配

es怎么实现mysql的like查询
{
  "query": {
    "wildcard": {
      "field_name": "关键词*"
    }
  }
}

field_name是需要进行模糊匹配的字段名,关键词*表示以关键词开头的任意字符串。

3. 使用fuzzy查询进行模糊匹配

{
  "query": {
    "fuzzy": {
      "field_name": {
        "value": "关键词",
        "fuzziness": "AUTO"
      }
    }
  }
}

field_name是需要进行模糊匹配的字段名,关键词是需要匹配的关键词。fuzziness参数设置为AUTO表示自动选择合适的模糊度。

4. 使用multi_match查询进行多个字段的模糊匹配

{
  "query": {
    "multi_match": {
      "query": "关键词",
      "fields": ["field1", "field2"],
      "fuzziness": "AUTO"
    }
  }
}

fields是一个包含需要进行模糊匹配的字段名的数组,query是需要匹配的关键词。fuzziness参数设置为AUTO表示自动选择合适的模糊度。

es怎么实现mysql的like查询

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/500493.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年5月18日 21:30
下一篇 2024年5月18日 21:34

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入