基于lucene的elasticsearch文本搜索插件

elasticsearch基于lucene实现底层的分词,也就是索引倒排序,然后对分词进行检索,elasticsearch帮助建立查询语句(dsl 两种查询方式 一种是uri方式  一种是http请求的)、返回查询结果(json形式)、存储数据(根据索引存储文档)  支持curl 和java api 基于restful风格 通过maven引入。

基本概念

集群:elasticsearch本身是分布式的搜索,可以将数据分布存储不同的节点上,并根据分片生成副本,

分片:在每个节点上吧数据分开存储在上面,有一个或者若干个分片,对应是shards,分片底层就是lucene底层建立的索引  通过elasticsearch.yml实现互通式配置。

节点:存储数据的物理节点

复制:上面的副本,又叫做复制,副本的作用是提升集群搜索性能和容错。对应recp

文档:这个是数据的基本单位,相当于数据库一条数据,数据由各个域(字段)组成,每个文档的字段数不一定一致

索引:相当于一个表或者数据。

映射:相当于数据库表的数据结构。可以不用指定

类型:6.0已经废弃。

要知道

每个分片上其实还是基于lucene建立的索引,每个分片都lucene的索引,通过elastic用Lucene建立索引、搜索索引

Lucene内部基于对文档每个字段分词(可以指定不同的分词器,插拔式的) 对分词建立一个逆排序的token序列(分词指向文档  分词-》{doc1, doc 2, doc3} 指向顺序是逆序所以叫你排序,正常是搜索文档标题 看内容 这篇elastic的中文官方文档 对逆排序的解释更加专业。引用:https://www.elastic.co/guide/cn/elasticsearch/guide/current/inverted-index.html),一般是按照abc顺序, 比如大哥1 出现次数5  大哥2 出现次数3, 每个token指向自己的文档,

elasticsearch安装

linux elasticsearch service6.0+  jdk1.8 java api

主要是elasticsearch运行环境中的elasticsearch.yml 配置

关于elastic负载均衡设置

kibana可以为elastic做图标分析。

通过设置 node.master  node.data 提高负载均衡性能

node.master true node.data  true  参与选举 有可能成为主节点  并且存储数据

node.master false node.data  false  空节点。只负责处理client请求。对查询请求做分发处理

node.master flase node.data true 显然存储数据

node.master true  node.data false 参与选举 有可能成为主节点  不存储数据

 

posted @ 2018-12-28 13:59  saveworld_niub  阅读(317)  评论(0)    收藏  举报