Elasticsearch(10)实践六-全文搜索
来源:互联网 发布:装配式结构优化 编辑:程序博客网 时间:2024/04/30 01:04
- 导言
- 全文搜索
- 实践
- 结语
导言
本文将持续学习搜索相关的内容
全文搜索
目前为止搜索十分简单:单名,年龄过滤。让我们尝试一个更先进、全文搜索任务,这是传统的数据库很纠结的地方。
我们将搜索所有享受攀岩的员工:
GET /megacorp/employee/_search{ "query" : { "match" : { "about" : "rock climbing" } }}
你可以看到,我们使用之前相同的match
搜索对查询内容为“rock climbing”的 about
字段。我们得到两个匹配文档信息:
{ ... "hits": { "total": 2, "max_score": 0.16273327, "hits": [ { ... "_score": 0.16273327, // --- (1) "_source": { "first_name": "John", "last_name": "Smith", "age": 25, "about": "I love to go rock climbing", "interests": [ "sports", "music" ] } }, { ... "_score": 0.016878016, // --- (2) "_source": { "first_name": "Jane", "last_name": "Smith", "age": 32, "about": "I like to collect rock albums", "interests": [ "music" ] } } ] }}
默认情况下,Elasticsearch通过相关性系数得到类型匹配结果,也就是说,通过每个文档与查询匹配的匹配度有多好进行结果的返回。排名第一和高匹配度的结果是显而易见: John Smith’s about
字段中清晰的看见“rock climbing”。
但是为什么Jane Smith作为一个结果返回?原因是她被返回的文档信息中“rock”该词在about
域被提到。因为仅仅被提到了“rock”,而没有提到“climbing”,所以她的_score
的值比John的低。
这是一个很好的例子,是关于Elasticsearch在全文字段中搜索并返回最相关的结果。Elasticsearch的相关性概念是很重要的,对传统的关系型数据库来说是一个完全陌生的概念,记录匹配与否。
实践
在sence中,输入如下的curl请求代码
curl -XGET "http://localhost:9200/megacorp/employee/_search" -d'{ "query" : { "match" : { "about" : "rock climbing" } }}'
结果如图所示:
完整返回信息如下:
{ "took": 448, "timed_out": false, "_shards": { "total": 5, "successful": 5, "failed": 0 }, "hits": { "total": 2, "max_score": 0.16273327, "hits": [ { "_index": "megacorp", "_type": "employee", "_id": "1", "_score": 0.16273327, "_source": { "first_name": "John", "last_name": "Smith", "age": 25, "about": "I love to go rock climbing", "interests": [ "sports", "music" ] } }, { "_index": "megacorp", "_type": "employee", "_id": "2", "_score": 0.016878016, "_source": { "first_name": "Jane", "last_name": "Smith", "age": 32, "about": "I like to collect rock albums", "interests": [ "music" ] } } ] }}
结语
全文搜索进行了一个大概的介绍,至于,到时候是否有具体实际的例子,还得待我有时间进行补充。
1 0
- Elasticsearch(10)实践六-全文搜索
- 全文搜索之 Elasticsearch
- [Elasticsearch] 全文搜索
- [Elasticsearch] 全文搜索
- 全文搜索之 Elasticsearch
- [Elasticsearch] 全文搜索 (三)
- elasticsearch全文搜索
- ElasticSearch(十三)-全文搜索(精度控制)
- 全文搜索之 Elasticsearch 初步介绍(1)
- Elasticsearch概述、ES概念、什么是搜索、全文检索、Elasticsearch功能(来自网络+学习资料)
- 全文搜索-介绍-elasticsearch-definitive-guide翻译
- elasticsearch笔记_全文搜索_query(五)
- Spring Data Elasticsearch加Elasticsearch服务实现全文搜索
- 分布式搜索Elasticsearch——创建客户端(六)
- 分布式搜索Elasticsearch——创建客户端(六)
- 分布式搜索Elasticsearch——创建客户端(六)
- 搜索学习--Elasticsearch全文搜索服务器的基本使用
- paip.mysql fulltext 全文搜索.最佳实践.
- Java字符编码根本原理
- 一个指针释放后不置空的危害
- 进程预习
- 软件测试常见五个问题
- |洛谷|数学|P1029 最大公约数和最小公倍数问题
- Elasticsearch(10)实践六-全文搜索
- 分析中文编码问题
- ACM程序测试
- JAVA抽象类和接口的区别
- 面向对象_代码块的概述和分类
- 欢迎使用CSDN-markdown编辑器
- Qt 实用技巧
- Mockito教程一
- 习题6--字符串和文本