博客
关于我
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/

你可能感兴趣的文章
OSGi与Maven、Eclipse PlugIn的区别
查看>>
Osgi环境配置
查看>>
OSG——选取和拖拽
查看>>
OSG中找到特定节点的方法(转)
查看>>
OSG学习:C#调用非托管C++方法——C++/CLI
查看>>
OSG学习:OSG组成(三)——组成模块(续):OSG核心库中的一些类和方法
查看>>
OSG学习:OSG组成(二)——渲染状态和纹理映射
查看>>
OSG学习:WIN10系统下OSG+VS2017编译及运行
查看>>
OSG学习:人机交互——普通键盘事件:着火的飞机
查看>>
OSG学习:几何体的操作(一)——交互事件、简化几何体
查看>>
OSG学习:几何体的操作(二)——交互事件、Delaunay三角网绘制
查看>>
OSG学习:几何对象的绘制(一)——四边形
查看>>
OSG学习:几何对象的绘制(三)——几何元素的存储和几何体的绘制方法
查看>>
OSG学习:几何对象的绘制(二)——简易房屋
查看>>
OSG学习:几何对象的绘制(四)——几何体的更新回调:旋转的线
查看>>
OSG学习:场景图形管理(一)——视图与相机
查看>>
OSG学习:场景图形管理(三)——多视图相机渲染
查看>>
OSG学习:场景图形管理(二)——单窗口多相机渲染
查看>>
OSG学习:场景图形管理(四)——多视图多窗口渲染
查看>>
OSG学习:新建C++/CLI工程并读取模型(C++/CLI)——根据OSG官方示例代码初步理解其方法
查看>>