一、创建索引
创建索引,并指定title字段的类型为keyword,用于精确查询
PUT /my_index
{
"settings": {
"number_of_shards": 3,
"number_of_replicas": 2
},
"mappings": {
"properties": {
"title": { "type": "keyword" },
"description": { "type": "text" },
"timestamp": { "type": "date" }
}
}
}
二、插入文档
#插入文档,并指定文档ID为1
PUT /my_index/_doc/1
{
"title": "Example Document1",
"description": "This is an example document",
"timestamp": "2023-06-27T10:00:00"
}
三、查询文档
根据文档ID查询
GET /my_index/_doc/1
根据文档字段内容查询
1、简单查询
Match 查询:根据指定字段的内容进行全文匹配查询。例如,搜索description字段包含关键词 "example" 的文档
GET /my_index/_search
{
"query": {
"match": {
"title": "Example"
}
}
}
Term 查询:根据指定字段的精确值进行匹配查询。例如,搜索title字段为 "Example Document1" 的文档。(精确查询的字段类型需为 keyword )
GET /my_index/_search
{
"query": {
"term": {
"title": "Example"
}
}
}
2、复合查询
Bool 查询:通过组合多个查询条件,使用逻辑运算符(如 must、should、must_not)来进行复合查询
- must:所有的 must 条件都必须满足,相当于逻辑上的 AND 操作。
- should:至少一个 should 条件满足即可,相当于逻辑上的 OR 操作。
- must_not:必须不满足 must_not 条件,相当于逻辑上的 NOT 操作。
GET /my_index/_search
{
"query": {
"bool": {
"must": [
{
"term": {
"title": "Example"
}
},
{
"match": {
"description": "example"
}
}
]
}
}
}
Match Phrase 查询
用于精确匹配包含指定短语的文档。它会将查询字符串视为一个完整的短语,确保文档中的某个字段包含完全相同的短语文章来源:https://www.toymoban.com/news/detail-582583.html
GET /my_index/_search
{
"query": {
"match_phrase": {
"description": "This is an example document"
}
}
}文章来源地址https://www.toymoban.com/news/detail-582583.html
到了这里,关于Elasticsearch深入学习 (四) 文档查询的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!