博客
关于我
Elasticsearch 多种搜索方式
阅读量:257 次
发布时间:2019-03-01

本文共 1207 字,大约阅读时间需要 4 分钟。

1、Query String Search

通过URL查询参数构建简单的搜索语句,适用于基础的文本搜索。

示例:GET /ecommerce/product/_search?q=name:yagao&sort=price:desc

效果:返回包含"yagao"的商品名称,并按价格降序排列。

响应示例:

took: 288ms

timed_out: false

_shards: { total: 5, successful: 5, skipped: 0, failed: 0 }

hits: { total: 3, max_score: 1, hits: [ { _id: "2", _score: 1, _source: { name: "jiajieshiyagao", ... } } ] }

2、Query DSL

使用JSON格式构建更复杂的查询语句,支持多种高级搜索功能。

基本结构:

GET /ecommerce/product/_search{ "query": { match_all: {} }, "sort": [ { price: "desc" } ] }

高级用法:

GET /ecommerce/product/_search{ "query": { bool: { must: { match: { name: "yagao" } }, filter: { range: { price: { gt: 25 } } } }, "sort": [ { price: "desc" } ] }

3、Query Filter

对结果进行过滤,满足特定条件的查询。

示例:

GET /ecommerce/product/_search{ "query": { bool: { must: { match: { name: "yagao" } }, filter: { range: { price: { gt: 25 } } } }, "sort": [ { price: "desc" } ] }

4、Full-Text Search

支持全文检索,通过倒排索引快速定位相关内容。

示例:

GET /ecommerce/product/_search{ "query": { match: { producer: "yagao producer" } } }

5、Phrase Search

精确匹配短语,确保搜索词完整出现。

与全文检索的区别:

全文检索会拆分查询词,匹配任意字符;短语搜索要求完整匹配。

6、Highlight Search

在搜索结果中高亮显示匹配的关键词或短语。

示例:

GET /ecommerce/product/_search{ "query": { match: { name: "yagao" } }, "highlight": [ "name" ] }

转载地址:http://mvft.baihongyu.com/

你可能感兴趣的文章
python | Python集成学习和随机森林算法
查看>>
python | Python高阶函数与函数式编程
查看>>
python | pytime,一个实用的 时间和日期处理 Python 库!
查看>>
python | pyupgrade,一个有趣的 Python 库!
查看>>
python | pyvips,一个神奇的 图像处理 Python 库
查看>>
Python | qutip,一个高级的 Python 库!
查看>>
python | rapidjson,一个实用的 提高JSON处理效率 Python 库!
查看>>
python | reflex,一个无敌的 Python 库!
查看>>
python | reloading,一个强大的 Python 库!
查看>>
python | rich,一个无敌的 Python 库!
查看>>
python | rlax,一个超强的 强化学习领域 Python 库!
查看>>
python | rpyc,一个超实用的 Python 库!
查看>>
python | rq,一个无敌的 关于Redis 的Python 库!
查看>>
python读取字符串指定位置字符_python要怎么截取指定位置的字符串呢?
查看>>
python | scikit-llm,一个神奇的 Python 库!
查看>>
python | sentry,一个超酷的 关于错误监控工具 Python 库!
查看>>
python | shiv,一个超酷的 打包工具 Python 库!
查看>>
python | six,一个神奇的 Python 库!
查看>>
Python读取图片的几种方法供net使用
查看>>
python | spacy,一个神奇的 Python 库!
查看>>