ES基本CURD操作是指在Elasticsearch中进行的增、删、改、查操作,即Create、Update、Retrieve、Delete。
-
创建文档:
PUT /index/_doc/1 { "field1": "value1", "field2": "value2" }
-
更新文档:
POST /index/_update/1 { "doc": { "field1": "new_value1" } }
-
获取文档:
GET /index/_doc/1
-
删除文档:
DELETE /index/_doc/1
DSL搜索是Elasticsearch提供的一种强大的查询语言,具有丰富的查询功能,可以根据各种条件进行查询。
以下是一个DSL搜索的示例:
GET /index/_search
{
"query": {
"match": {
"field1": "value1"
}
}
}
上述查询使用match
查询来匹配field1
字段的值为value1
的文档。
高亮显示可以在搜索结果中对匹配的查询字段进行突出显示。
以下是一个高亮显示的示例:
GET /index/_search
{
"query": {
"match": {
"field1": "value1"
}
},
"highlight": {
"fields": {
"field1": {}
}
}
}
上述查询将对匹配的文档的field1
字段进行高亮显示。
分页可以使用from
和size
参数进行控制,从而实现对搜索结果进行分页显示。
以下是一个分页的示例:
GET /index/_search
{
"from": 0,
"size": 10,
"query": {
"match_all": {}
}
}
上述查询将返回从第0条开始的10条搜索结果。
批量操作可以在一次请求中执行多个CURD操作,提高效率。
以下是一个批量操作的示例:
POST /index/_bulk
{ "index": { "_id": "1" } }
{ "field1": "value1" }
{ "update": { "_id": "2" } }
{ "doc": { "field1": "new_value1" } }
{ "delete": { "_id": "3" } }
上述请求将创建一个新文档、更新另一个文档和删除第三个文档。提交请求后,Elasticsearch将按顺序执行这些操作。