Elasticsearch 学习 初步总结

原创 2015年07月08日 15:20:48

学习网站  http://learnes.net/

1、词条查询 trem

      它仅匹配在给定字段中含有该词条的文档,而且是确切的、未经分析的词条。
{
    "query": {
        "term": {
            "title": "crime"
        }
    }
}
2、多词条查询terms
     多词条查询允许匹配那些在内容中含有某些词条的文档。词条查询允许匹配单个未经分析的词条
    ,多词条查询可以用来匹配多个这样的词条。
{
    "query": {
        "trems": {
            "tags": [
                "novel",
                "book"
            ],
            "minimum_match": 1  //至少有1个词条应该匹配。
        }
    }
}
3、批量索引
     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样式。
例如:
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"} } 
4、分页和结果集大小
     1)from:该属性指定我们希望在结果中返回的起始文档。默认值为0。
     2)size:该属性指定了一次查询中返回的最大文档数,默认值为10.
     例:
{
    "from": 9,
    "size": 20,
    "query": {
        "query_string": {
            "query": "title: crime"
        }
    }
}
5、match_all 查询
     他使我们能够匹配索引中所有文件 ==  select *  from  table
     例:{
    "query": {
        "match_all": {}
    }
}
6、范围查询
     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、查询结果的过滤
    查询索引中的某个子集,这就要用到过滤器了。


     

     

相关文章推荐

Elasticsearch学习,请先看这一篇!

题记:Elasticsearch研究有一段时间了,现特将Elasticsearch相关核心知识、原理从初学者认知、学习的角度,从以下9个方面进行详细梳理。欢迎讨论……0. 带着问题上路——ES是如何产...

Elasticsearch学习总结

方法 http://www.infoq.com/cn/articles/database-timestamp-02 1.3 与关系型数据库的名词对照 Relational DB => Databas...

ElasticSearch 疯狂学习 第二季(自学)

ElasticSearch 疯狂学习  第二季(自学) 由于数据量过大,遍历数据库查询进行逻辑判断过慢,为了提高数据查询速率,我打算使用elasticSearch检索去完成这一系列的操作(包括逻辑处理...

ElasticSearch初步学习,管理索引(入门二)

前一篇说了,怎么通过java客户端来创建索引,下面就记录下怎么来管理索引,包括mapping和删除等,(使用的版本是2.1.0) 官方api 官方api https://www.elastic.co/...

ElasticSearch初步学习,创建索引(入门一)

前段时间刚接触了ElasticSearch,想把学习的东西整理下,说实话没怎么学透彻,学习的路还有很长。。。。。。。 首先说下安装吧,到官网上下载https://www.elastic.co/do...

elasticsearch学习总结(二) 集群数据分配

一、空集群    二、单节点集群    三、双节点集群      四、三节点集群...

ElasticSearch学习总结一

安装与配置ElasticSearch是一个非常优秀的搜索框架,还支持分布式、负载均衡等强大功能。这段时间体验了解了一下,先大概总结一下ElasticSearch的安装与使用吧。(PS:其中参考了大量博...

Elasticsearch初步使用(安装、Head配置、分词器配置)

目录   返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.ElasticSearch简单说明   a.Elastic...
  • rdstwww
  • rdstwww
  • 2016年06月22日 23:27
  • 1629

Elasticsearch初步使用(安装、Head配置、分词器配置)

1.ElasticSearch简单说明   a.ElasticSearch是一个基于Lucene开发的搜索服务器,具有分布式多用户的能力,ElasticSearch是用Java开发的开源项目(Apac...
  • fhzh520
  • fhzh520
  • 2016年11月02日 18:48
  • 244

全文搜索之 Elasticsearch 初步介绍(1)

概述 Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定、可靠、快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的。 特性 安装方便:没有...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Elasticsearch 学习 初步总结
举报原因:
原因补充:

(最多只允许输入30个字)