- 添加文档
添加文档是向索引中添加数据的方式之一。可以使用以下API将一条文档添加到名为“my_index”的索引中:
PUT /my_index/_doc/1 { "title": "Elasticsearch Tutorial", "author": "John Doe", "content": "This is a tutorial on Elasticsearch indexing" }
其中,_doc表示数据类型,默认情况下Elasticsearch使用_doc作为数据类型名称;1表示文档ID,可以自定义。
- 更新文档
如果需要更新已经存在的文档,可以使用以下API来进行更新操作:
POST /my_index/_update/1 { "doc": { "content": "This is an updated tutorial on Elasticsearch indexing" } }
- 删除文档
如果需要删除某个文档,可以使用以下API来进行删除操作:
DELETE /my_index/_doc/1
- 批量添加文档
如果需要添加多条文档,可以通过以下API来进行批量添加操作:
POST /my_index/_bulk {"index": {"_id": "1"}} {"title": "Document 1", "content": "This is the first document"} {"index": {"_id": "2"}} {"title": "Document 2", "content": "This is the second document"} {"index": {"_id": "3"}} {"title": "Document 3", "content": "This is the third document"}
- 批量更新文档
类似地,如果需要批量更新已经存在的文档,可以使用以下API进行批量更新操作:
POST /my_index/_bulk {"update": {"_id": "1"}} {"doc": {"content": "This is the updated content of document 1"}} {"update": {"_id": "2"}} {"doc": {"content": "This is the updated content of document 2"}} {"update": {"_id": "3"}} {"doc": {"content": "This is the updated content of document 3"}}
- 查询文档
一旦添加了文档,我们就可以使用以下API来查询它们:
GET /my_index/_search { "query": { "match": { "title": "Elasticsearch Tutorial" } } }
其中,match查询表示对“title”字段进行全文匹配,查找所有标题包含“Elasticsearch Tutorial”的文档。
以上就是Elasticsearch文档操作的简要介绍。当然,在实际应用中我们可能会遇到更加复杂的场景和需求,需要结合具体情况进行灵活调整和优化。