1. 插入
PUT /megacorp/employee/1{ "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ]} 对应的完整curl命令为:
curl -X PUT "localhost:9200/megacorp/employee/1" -H 'Content-Type: application/json' -d'
{ "first_name" : "John", "last_name" : "Smith", "age" : 25, "about" : "I love to go rock climbing", "interests": [ "sports", "music" ]}'注意,路径 /megacorp/employee/1
包含了三部分的信息:
- 索引名称
- 类型名称
- 特定雇员的ID
megacorp
employee
1
请求体 —— JSON 文档 —— 包含了这位员工的所有详细信息,他的名字叫 John Smith ,今年 25 岁,喜欢攀岩。
2. 检索
检索指定文档 GET /megacorp/employee/1 tip: 将 HTTP 命令由 PUT 改为 GET 可以用来检索文档,同样的,可以使用 DELETE 命令来删除文档,以及使用 HEAD 指令来检查文档是否存在。如果想更新已存在的文档,只需再次 PUT 。
检索所有文档(一个搜索默认返回十条结果)。
GET /megacorp/employee/_search 尝试下搜索姓氏为 ``Smith`` 的雇员,使用查询字符串 (_query-string_)
GET /megacorp/employee/_search?q=last_name:Smith
这个简单搜索返回包含 mary
的所有文档:
GET /_search?q=mary
tip:当索引一个文档的时候,Elasticsearch 取出所有字段的值拼接成一个大的字符串,作为 _all 字段进行索引。除非设置特定字段,否则查询字符串就使用 _all 字段进行搜索。
查询表达式 查询所有 Smith 的搜索 :
GET /megacorp/employee/_search{ "query" : { "match" : { "last_name" : "Smith" } }}
3. 删除 将 GET 方法换成 DELETE 就可以了。 4. 索引别名 添加
POST /_aliases{ "actions" : [ { "add" : { "index" : "test1", "alias" : "alias1" } } ]} 删除
POST /_aliases{ "actions" : [ { "remove" : { "index" : "test1", "alias" : "alias1" } } ]} 更多参考:
5. 清空索引 POST indexName/_delete_by_query { "query": { "match_all": { } } } 其中 query 可选。 参考: