elasticsearch笔记整理(1)-基础入门-你知道的,为了搜索-选摘自《elasticsearch权威指南》

作者: admin 分类: ELK 发布时间: 2019-05-14 22:51  阅读: 21 views
1.elasticsearch简介

Elasticsearch 是一个实时的分布式搜索分析引擎,被用作全文检索、结构化搜索、分析以及这三个功能的组合。Elasticsearch鼓励你去探索与利用数据,而不是因为查询数据太困难,就让它们烂在数据仓库里面。

优点:

1.一个分布式的实时文档存储,每个字段可以被索引与搜索
2.一个分布式实时分析搜索引擎
3.能胜任上百个服务节点的扩展,并支持PB级别的结构化或者非结构化数据

2.elasticsearch的java客户端

Node client (过期作废)
Transport client (过期作废,7.0后)
RestClient (兼容老版本语法)
RestHighLevelClient (高级)

3.elasticsearch的索引解释(环境不同含义不同)

索引(名词):
一个索引类似于传统关系数据库中的一个数据库,是一个存储关系型文档的地方。索引(index)的复数词为indices或indexes.

索引(动词):
索引一个文档就是存储一个文档到一个索引(名词)中以便它可以被检索和查询到。这非常类似于sql语句中的insert关键词

倒排索引:
关系型数据库通过增加一个索引比如一个b树(B-Tree)索引到指定的列上,以便提升数据检索速度。Elasticsearch和Lucene使用了一个叫做倒排索引的结构来达到相同的目的。

默认的,一个文档中的每一个属性都是被索引的(有一个倒排索引)和可搜索的。一个没有倒排索引的属性是不能被搜索到的。

4.elasticsearc的搜索方式

1.轻量搜索(可读性差)   

 http://127.0.0.1:9200/testproject/_search?q=去哪里   

2.查询表达式(JSON构造请求,宜读宜懂)

GET /testproject/_search
{
    "query" : {
        "match" : {
            "text" : "去哪里"
        }
    }
}

3.API查询(实现自身业务需求等)

5.elasticsearch搜索示例

GET /testproject/_search
{
  "query": {
    "multi_match": {        //多字段查询
      "query": "项目",       //查询词条
      "fields": [           //字段
        "areaName^6.0",     //字段名称 和权重值
        "content^1.0",
        "digest^2.0",
        "name^3.0",
        "markername^4.0",
        "username^5.0"
      ],
      "type": "cross_fields",   //跨字段搜索
      "operator": "and",        //分词后的词条同时出现。 or是出现其中之一
      "slop": 0,               
      "prefix_length": 0,
      "max_expansions": 50,
      "zero_terms_query": "NONE",
      "auto_generate_synonyms_phrase_query": true,
      "fuzzy_transpositions": true,
      "boost": 1
    }
  }
  , "highlight": {    //高亮
    "fields": {
      "name" :{}
    }
  }
}

6. elasticsearch的分布式操作

  1. 分配文档到不同的容器或分片中,文档可以存储在一个或多个节点中
  2. 按集群节点来均衡分配这些分片,从而对索引和搜索过程进行负载均衡
  3. 复制每个分片以支持数据冗余,从而防止硬件故障导致的数据丢失
  4. 将集群中任一节点的请求路由到存有相关数据的节点
  5. 集群扩容时无缝整合新节点,重新分配分片以便从离群节点恢复

 


   原创文章,转载请标明本文链接: elasticsearch笔记整理(1)-基础入门-你知道的,为了搜索-选摘自《elasticsearch权威指南》

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

一条评论

发表评论

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

更多阅读