Elasticsearch教程-从入门到放弃(1)
Elasticsearch 简介
Elasticsearch(ES)是一个可用于构建搜索应用的成品软件,基于Lucene构建的开源 分布式 RESTful接
口全文搜索引擎.ES还是一个分布式文档数据库.其中每个字段均是被索引的数据且可被搜索.ES天生
就是分布式的,它能自动管理多个节点完成扩展和实现高可用性.
熟悉Lucene
Lucene是Apache软件基金会一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎
Lucene简介
Lucene总体架构
1.文档(document):索引于搜索的主要数据载体,它包含一个或多个字段,存放将要写入索引或将从索引搜索出来的数据
2.字段(field):文档的一个片段,它包括两个部分:字段的名称和内容
3.词项(term):搜索时的一个单位,代表文本中的某个词
4.词条(token) :词项在字段中的一次出现,包括词项的文本,开始和结束的位移以及类型.
Lucene 倒排索引
Apache Lucene将写入索引的所有信息组织成一种名为倒排索引(inverted index)的结构.
倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
ElasticSearch的基本概念
1.索引(index): es将它的数据存储在一个或多个索引中.索引相当于数据库.
2.文档(document) :文档是es的主要实体,由字段构成,从客户端角度看,文档是一个JSON对象,所有的搜索都可以归结为对文档的搜索.
3.映射(mapping):所有文档写入索引前都需要进行分析,映射就是描述字段的类型、如何进行分析、如何进行索引等内容.默认es能根据字段值自动检测自动类型,为了以防意外,最好自行配置映射
4.类型(type): es中每个文档都有与之对应的类型(type)定义,允许用户在一个索引中存储多种文档类型,并为不同文档类型提供不同映射.
未完....待续....