学习网站 http://learnes.net/
1、词条查询 trem
它仅匹配在给定字段中
含有该词条的文档,而且是确切的、未经分析的词条。
2、多词条查询terms{"query": {"term": {"title": "crime"}}}
多词条查询允许匹配那些在内容中含有某些词条的文档。词条查询允许匹配单个未经分析的词条
,多词条查询可以用来匹配多个这样的词条。
3、批量索引{"query": {"trems": {"tags": ["novel","book"],"minimum_match": 1 //至少有1个词条应该匹配。}}}
1)在索引中增加或更换现有文档(index)。
2)从索引中移除文档(delete)。
3)当索引中不存在其他文档定义时,在索引中增加新文档(create),如果文档已存在报错。
参考url:http://learnes.net/data/bulk.html
bulk API可以帮助我们同时完成执行多个请求,比如:create,index, update以及delete。当你在处理类似于log等海量数据的时候,你就可以一下处理成百上千的请求,这个操作将会极大提高效率。bulk的请求主体的格式稍微有些不同:{ action: { metadata }}\n{ request body }\n{ action: { metadata }}\n{ request body }\n...这种格式就类似于一个用"\n"字符来连接的单行json一样。下面是两点注意事项:每一行都结尾处都必须有换行字符"\n",最后一行也要有。这些标记可以有效地分隔每行。这些行里不能包含非转义字符,以免干扰数据的分析 — — 这也意味着JSON不能是pretty-printed样式。例如:
4、分页和结果集大小POST /_bulk{ "delete": { "_index": "website", "_type": "blog", "_id": "123" }}{ "create": { "_index": "website", "_type": "blog", "_id": "123" }}{ "title": "My first blog post" }{ "index": { "_index": "website", "_type": "blog" }}{ "title": "My second blog post" }{ "update": { "_index": "website", "_type": "blog", "_id": "123", "_retry_on_conflict" : 3} }{ "doc" : {"title" : "My updated blog post"} }
1)from:该属性指定我们希望在结果中返回的起始文档。默认值为0。
2)size:该属性指定了一次查询中返回的最大文档数,默认值为10.
例:
5、match_all 查询{"from": 9,
"size": 20,
"query": {
"query_string": {
"query": "title: crime"
}
}
}
他使我们能够匹配索引中所有文件 == select * from table
例:{
"query": {6、范围查询
"match_all": {}
}
}
gte >= ; gt > ; lte <= ; lt <
例:
{
"query": {
"range": {
"year": {
"gte": 1700,
"lte": 1900
}
}
}}
7、布尔查询
must:被它封装的布尔查询必须被匹配,文档才能返回。== n 个 and
{
"query": {
"bool": {
"must": [
{ "match": { "address": "mill" } },
{ "match": { "address": "lane" } }
]
}
}
}
8、查询结果的过滤
查询索引中的某个子集,这就要用到过滤器了。