elasticsearch 数据 添加,更新,删除,查询
上篇文章说了,elasticsearch mapping字段的增,删,更新。如果把mapping的修改理解成对数据结构的修改,那这篇文章就可以理解成对数据的修改。
1,添加数据
- "http://127.0.0.1:9200/ik_v2/chinese/3?pretty"'
- {
- }'
2,更新数据
2.1,部分数据更新
- 'localhost:9200/ik_v2/chinese/3/_update?pretty''{
- }'
- "http://127.0.0.1:9200/ik_v2/chinese/3?pretty"
- "_index""ik_v2"
- "_type""chinese"
- "_id""3"
- "_version"
- "found"
- "_source"
- "id"
- "username""testtest"//部分更新了
- "description""测试测试"
2.2,全部更新
- "http://127.0.0.1:9200/ik_v2/chinese/3?pretty"'
- {
- }'
- //id为3的数据全部更新了
- "http://127.0.0.1:9200/ik_v2/chinese/3?pretty"
- "_index""ik_v2"
- "_type""chinese"
- "_id""3"
- "_version"
- "found"
- "_source"
- "id"
- "username""111111111"
- "description""222222222"
2.3,拼接更新
- 'localhost:9200/ik_v2/chinese/3/_update?pretty''{
- }'
- 'localhost:9200/ik_v2/chinese/3/_update?pretty''{
- }'
- "http://127.0.0.1:9200/ik_v2/chinese/3?pretty"
- "_index""ik_v2"
- "_type""chinese"
- "_id""3"
- "_version"
- "found"
- "_source"
- "id"//加了2
- "username""111111111"
- "description""222222222333"//拼了333
2.4,添加字段,并更新数据
- //添加一个字段为sex值为1
- 'localhost:9200/ik_v2/chinese/3/_update?pretty''{
- }'
- //删除sex这个字段
- 'localhost:9200/ik_v2/chinese/3/_update?pretty''{
- }'
在这里要注意,用这个方法,mapping结构会改变。
注:以上的更新操作都是单条数据更新
2.5,多条数据更新
- 'localhost:9200/ik_v2/test/_update_by_query?pretty''{
- "took"
- "timed_out"
- "total"
- "updated"//更新了二条
- "deleted"
- "batches"
- "version_conflicts"
- "noops"
- "retries"
- "bulk"
- "search"
- "throttled_millis"
- "requests_per_second"
- "throttled_until_millis"
- "failures"
注意,这个条件字段,最好不要用分词字段,因为不可控。上面我只是为了测试用。
3,删除数据
3.1,单条删除
- "http://127.0.0.1:9200/ik_v2/chinese/3?pretty"
3.2,多条数据删除
- 'http://127.0.0.1:9200/ik_v2/_delete_by_query?pretty''{
- "took"
- "timed_out"
- "total"
- "deleted"//删除了二条
- "batches"
- "version_conflicts"
- "noops"
- "retries"
- "bulk"
- "search"
- "throttled_millis"
- "requests_per_second"
- "throttled_until_millis"
- "failures"
注意,这个条件字段,最好不要用分词字段,因为不可控。
4,查询
- "http://127.0.0.1:9200/ik,ik_v2/chinese/_search?pretty"'
- {
- }
- '
查询的操作,非常多,后面会单独的详细说。查询总的来说,支持多索引多字段查询。新版es不支持一个索引多个mapping,老版还支持多mapping查询。