码迷,mamicode.com
首页 > 其他好文 > 详细

elsearch

时间:2018-09-12 21:18:52      阅读:1042      评论:0      收藏:0      [点我收藏+]

标签:操作   查询   local   sea   message   控制   物理   arc   字段   

1. ElasticSearch是性能优化的分布式全文搜索引擎,存储数据的载体是文档(Document),它的优势在于搜索速度快和支持聚合操作,在更新文档时,基本上能够达到实时搜索。ElasticSearch引擎总是按照文档标识来更新数据,并发控制是通过顺序的版本ID(version)实现的,控制写-写、写-读冲突,实现数据弱一致性。

2. 在编入索引时,索引操作支持参数op_type,用于指定索引数据的操作类型是create,当文档ID不存在时,将文档添加到索引中;当显式指定操作类型是create时,如果创建的文档ID已经存在于索引中,那么创建操作将失败。

PUT ‘http://localhost:9200/twitter/tweet/1?op_type=create‘ -d
PUT ‘http://localhost:9200/twitter/tweet/1/_create‘ -d

3. 在索引文档时,如果没有指定文档标识,那么ElasticSearch将会自动生成文档标识,并自动把操作类型(op_type)设置为create,注意,自动生成文档标识是更新操作,修改索引中的文档,而不是新建一个新的文档,因此使用POST动词,而不是PUT动词。

POST ‘http://localhost:9200/twitter/tweet/‘ -d
‘{
    "user" : "kimchy",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
}‘

4. 在ElasticSearch引擎中删除文档非常简单,通过文档标识删除文档,实际上,该文档并没有从索引中物理删除,只是在其他文件中被标记删除,只要ElasticSerach 引擎执行段合并操作时,才会真正从物理上删除文档。

5. ElasticSearch引擎在更新端点(_update)上更新文档,更新操作首先从索引中查询到文档,执行更新逻辑,并将更新之后的文档重新索引,使之能够被搜索到。在更新文档时,ElasticSearch使用版本控制并发操作可能产生的冲突。更新端点(_update)主要是基于脚本的文档更新,ElasticSearch引擎从索引中获取文档,使用脚本和可选的参数执行更新操作,并将文档重新编入索引。在更新时,即使只修改文档的部分字段,ElasticSearch也会重新索引整个文档,并使用文档版本避免读-写冲突。使用端点(_update)和内嵌脚本对文档执行更新操作,必须启用_source 字段。

6. 

 

elsearch

标签:操作   查询   local   sea   message   控制   物理   arc   字段   

原文地址:https://www.cnblogs.com/Jtianlin/p/9637205.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!