Elastic常用的接口

1、集群 cluster

【get】http://www.129.com/_cluster/health?pretty  #查看集群状态
【get】http://www.129.com/_count  #查看集群中文档的记录数,可以增加条件q=description:品牌
【get】http://www.129.com/_search #查看集群中所有文档的数据,可以增加条件q=description:品牌
【get】http://www.129.com/_nodes  #查看node的信息

2、搜索

普通搜索:
【get】http://www.129.com/_search?q=description:杨柳&size=100

DSL搜索方法:
【post】http://www.129.com/_search
{"query":{"match":{"description":"杨柳"}}}

filter搜索方法:

短语搜搜方法:match_phrase

高亮显示:

检索多个文档:参考_mget的用法,指定_id,可以跨索引、跨类型

3、乐观并发控制

在更改的请求中增加:version
例如:PUT /website/blog/1?version=1 ,判断当前操作的version是否等于原version

指定version,通常可以为datetime
例如:PUT /website/blog/2?version=5&version_type=external,此时使用put的更新操作,因为是外部指定version,则采用大于当前version,而非等于

增加参数retry_on_conflict,来控制如果发生version冲突,则可以重试的次数,对请求段是透明的。
例如:POST /website/pageviews/1/_update?retry_on_conflict=5

4、文档(document)

文档局部更新:增加doc字段
例如:【post】http://www.129.com/guohu/contract/14879/_update
{"doc":{"accountName":"aaaaaaa"}}

使用Groovy脚本更新:必须要安装Groovy
"script" : "ctx._source.views+=1"

使用upsert更新不存在的文档,参数定义文档来使其不存在时被创建。

批量操作:_bulk
开始的数量可以在1000~5000个文档之间,如果你的文档非常大,可以使用较小的批次。通常着眼于你请求批次的物理大小是非常有用的。一千个1kB的文档和一千个1MB的文档大不相同。一个好的批次最好保持在5-15MB大小间。

5、查询类型中字段的mapping信息

http://www.129.com/wanda/_mapping/store

6、分词查询工具

http://www.129.com/_analyze?analyzer=standard&text=中国人民共和国

总结:

对象词:_cluster、索引(wanda)、type(merchant)
动作词:_search、_count、_settings、_source、_create、_bulk
例如:http://www.129.com/guohu/contract/2071772/_source,只留下_source内容,过滤其他的。
例如:http://www.129.com/guohu/contract/2071772/_create,表示创建文档

其他特殊对象:_nodes、_all

方法:POST、PUT、DELETE、HEAD、GET
例如:使用head来检查文档是否存在

URL中的操作:size、limit、q
DSL中的操作:query、match
filter中的操作:filtered、filter、range、query、match
聚合搜索(group by):aggs、all_interests、terms

 

 

 

 

 

a

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>