ElasticSearch学习笔记 | Term和Keyword精确查询
2023-09-27 14:28:58 时间
本文测试数据为官方提供的测试数据,导入方法在学习笔记本章节第一篇中:https://blog.csdn.net/qq_20051535/article/details/113242821
一、Term查询
返回在提供的字段中包含确切信息的文档内容。
您可以使用精确的值(例如价格,产品ID或用户名)利用 Term 查询查找文档。
比如我们查询年龄是33岁的:
GET /bank/_search
{
"query": {
"term": {
"age": 33
}
}
}
注意:
避免term对text字段使用查询。
默认情况下,Elasticsearch更改text字段的值作为analysis的一部分。这会使查找text字段值的精确匹配变得困难。
要搜索text字段值,请改用match查询。
二、文本精确查询
比如查询地址完整包含 435 Furman Street 的:
GET /bank/_search
{
"query": {
"match_phrase": {
"address": "435 Furman Street" //这个的搜索结果在改为435 Furman时依旧会展示
}
}
}
查询地址值必须是 435 Furman Street 的(精确匹配 keyword):
GET /bank/_search
{
"query": {
"match": {
"address.keyword": "435 Furman Street" //这个的搜索结果在改为435 Furman时不会展示
}
}
}
我们一般规定:全文检索字段用 match,其他非text字段匹配用term
相关文章
- Django rest framework 使用haystack对接Elasticsearch
- Elasticsearch-->Get Started--> Exploring Your Data
- Elasticsearch 之 慘痛部署(分片移位)
- elasticsearch中文档映射Mapping用法详解
- ElasticSearch学习笔记记录
- Elasticsearch 利用 JDBC 插件导入数据到 Elasticsearch
- elasticsearch 文档(document)的基本操作CRUD
- awesome-elasticsearch
- elasticsearch工作笔记002---Centos7.3安装最新版elasticsearch-7.0.0-beta1-x86_64.rpm单机版安装
- ElasticSearch第九讲 ES 分词器与安装使用分析器
- Linux环境下ElasticSearch的安装与使用(SpringBoot整合云服务器上的ElasticSearch)
- 开源数据计算引擎,实现媲美ElasticSearch的高性能并发查询
- 《深入理解Elasticsearch(原书第2版)》——导读
- Elasticsearch Java REST Client 批量操作(Bulk API)
- elasticsearch日志删除命令
- ElasticSearch的基本原理与用法
- Elasticsearch 企业级别性能优化(二)
- elasticsearch学习笔记001
- ElasticSearch学习笔记
- ElasticSearch学习笔记