ElasticSearch
ES 查询API
ES 查询模式
本文档使用 MrDoc 发布
-
+
首页
ES 查询模式
### match `模糊匹配`,需要指定字段名,但是输入会进行分词,比如”hello world”会进行拆分为 hello 和 world,然后匹配,如果字段中包含 hello 或者 world,或者都包含的结果都会被查询出来,也就是说 match 是一个部分匹配的模糊查询。查询条件相对来说比较宽松。 ``` GET /index_name/_search?size=4000&_source=category { "query": { "bool": { "must": [ { "match": { "category": "Men's Clothing" } } ] } } } ``` ### term `精确查询`,搜索前不会对搜索词进行分词,直接对搜索词进行查找 ``` GET /index_name/_search?size=100&_source=category { "query": { "bool": { "must": [ { "term": { "category": { "value": "Men's Clothing" } } } ] } } } ``` ### match_phase 会对输入做分词,但是需要结果中也包含所有的分词,而且顺序要求一样。 ``` GET /index_name/_search?size=4000&_source=category { "query": { "bool": { "must": [ { "match_phrase": { "category": "Men's Clothing" } } ] } } } ``` ### query_string 和 match 类似,但是 match 需要指定字段名,query_string 是在所有字段中搜索,范围更广泛。 ``` GET /index_name/_search?size=4000&_source=category { "query": { "bool": { "must": [ { "query_string": { "default_field": "category", "query": "积分落户" } } ] } } } ``` 在上面的查询中,包含"积分"和"分"的所有文章都会被查询出来。 如果对搜索的词加上双引号,则相当于要求精确匹配该词 ``` GET /index_name/_search?size=4000&_source=category { "query": { "bool": { "must": [ { "query_string": { "default_field": "category", "query": "\"积分落户\"" } } ] } } } ``` 在这个查询中,只有包含"积分落户"这个词的才会被查询出来。
gaojian
2024年9月14日 15:21
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅思文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅思文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅思文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
Markdown文件
分享
链接
类型
密码
更新密码