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

ElasticSearch 学习笔记一 简介

时间:2016-09-21 13:05:11      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

一、Lucene简介

  A、Lucene的总体架构

  1、文档(document):索引与搜索的主要数据载体,它包含一个或多个字段,存放将要写入索引或将从索引搜索出来的数据。

  2、字段(field): 文档的一个片段,它包含两个部分: 字段的名称和内容。

  3、词项(term):搜索的一个单位,代表文本中的某个词。

  4、词条(token): 词项在字段中的一次出现,包括词项的文本、开始和结束的位置以及类型。

  Apache Lucene将写入索引的所有信息组织成一种名为倒排索引(inverted index)的结构。

  B、Lucene查询语言

  1、AND: 操作符两边的词项都在文档中出现。

  2、OR:任意词项在文档中出现。

  3、NOT:文档必须不包含该操作符后面的词项。

  4、+: 只有包含操作符后面词项的文档才会被认为是与从句匹配。

  5、-: 从句匹配的文档不能出现操作符后面的词项。

  Lucene中所有的数据都存储在字段(field)中,而字段又是文档的组成单位。为了实现针对某个字段的查询,用户需要提供字段名称,再加上冒号及条件。支持两种通配符: ?和*。?是匹配任意一个字符,*是匹配多个字符。~表示模糊查询。

二、ElasticSearch简介

  A、基本概念

  索引:ElasticSearch将它的数据存储在一个或多个索引(index)中。索引就像数据库,可以向索引写入文档或从索引中读取文档。

  文档:Es的主要实体,由字段构成。

  映射: 所有的文档在写入索引前都需要先进行分析。用户可以设置一些参数,来决定如何将输入的文本分割为词条,哪些词条应该被过滤掉。

  类型: Es中每个文档都有与之对应的类型(type)定义。这允许用户在一个索引中存储多种文档类型,并为不同文档类型提供不同的映射。

  节点: 单个的Es服务实例称为节点(node)。

  集群: 多个节点同时处理。

  分片: Es将数据散布到多个物理Lucene索引上,这些Lucene索引称为分片。

  副本: 解决压力过大时,某个分片所在的节点宕机, 这是Es会使用其副本。

  网关: 在Es的工作过程中,关于集群的状态,索引设置的各种信息都会被收集起来,并在网关(gateway)中被持久化。

  B、工作流程

  当es节点启动时,它使用广播技术来发现同个集群中的其它节点并与它们连接。集群中会有一个节点被选为管理节点(master node),该节点负责集群的状态管理以及在集群拓扑变化时做出反应,分发索引分片到相应的节点。管理节点读取集群的状态信息,并在必要时进行恢复处理。

  C、索引数据

  es提供4种方式来创建索引

  1、使用索引api

  2、bulk api

  3、UDP bulk api

  4、使用插件发送数据

 D、查询数据

  使用查询DSL。查询并不是一个简单的、单步骤的操作。一般查询分为两个阶段:分散阶段(scatter phase)和合并阶段(gather phase)。

  E、索引配置

  可以手动配置一些功能。

 

ElasticSearch 学习笔记一 简介

标签:

原文地址:http://www.cnblogs.com/limx/p/5891892.html

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