TOP

elasticsearch

elasticsearch  -  介绍

需求

▧ 搜索方案要高效

▧ 希望零配置和完全免费的搜索方案

▧ 希望能够简单通过json 和 http 与搜索引擎交互

▧ 希望搜索服务器稳定

▧ 希望能够将一台服务器扩展到上百台

说明

ElasticSearch 是一个基于 Lucene 的搜索服务器。

它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。

设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

本质上是可以理解为一个 nosql 数据库, 定义类似于 mongodb 以及 redis

官网

这里

对比关系数据库搜索

▧ 无法打分

▧ 无分布式

▧ 无法解析搜索请求

▧ 效率低

▧ 无分词处理

elasticsearch-rtf  - 相关环境安装

java

安装

ElasticSearch 是一个基于 Lucene 的, 而切实基于 java 开发的, 因此需要安装 java

注意 ElasticSearch 5 以上的版本是需要 java 8 以上的版本才支持使用

安装地址  点击这里

测试

在  cmd  中使用  java  ,  javac ,  java -version  等命令测试是否成功

elasticsearch-rtf

安装

elasticsearch-rtf 是国内的大神进行封装后的更适合使用的组件

源码 GitHub 点击这里

下载解压即可

启动

在解压目录进行命令启动  elasticsearch.bat 

启动后会指明  127.0.0.1:9200  地址进行访问

访问会是 json 形式展示

head 插件

类似于 navicat 一样的可视化工具在浏览器中

本身是个前端的项目, 需要用到 npm 

安装

GitHub 上面 下载源码然后解压

使用

解压好后且入目录执行依赖包下载以及项目运行

  • git clone git://github.com/mobz/elasticsearch-head.git
  • cd elasticsearch-head
  • npm install
  • npm run start

运行后会监听  127.0.0.1:9100 

允许插件 

默认安装好后默认 elasticsearch 是不允许第三方插件的需要进行一定的设置

对  D:\elasticsearch-rtf-master\config\elasticsearch.yml 尾部追加此代码允许第三方插件

http.core.enabled: true
http.core.allow-origin: "*"
http.core.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: "S-Requested-With, Content-Type, Content-Length, X-User"

 成功后就会这样

kibana 安装

安装

一样是同上面一样下载安装包, 进行解压

注意一点 版本要对应, 这里是 5.1.1, 因此选择对应版本的安装包

 

启动

安装好之后运行   kibana-5.1.1-windows-x86\bin\kibana.bat  ,

运行后的访问页面是  127.0.0.1:5601 

然后访问会进入这个页面则表示成功了

 

elasticsearch  -  概念

物理概念

▧ 集群

  一个或者多个节点组织在一起

▧ 节点

  一个节点是集群中的一个服务器, 由一个名字来标识, 默认是一个随机漫威英雄的名字

▧ 分片

  将索引分为多份的能力, 允许水平分割和扩展容量,多个分片相应请求, 提高性能和吞吐量

▧ 副本

  创建分片的一份或多分的能力. 在一个节点失败其他节点可以顶替

逻辑概念

elasticsearch mysql
index - 索引 数据库
type - 类型
documents - 文档
fields

 

HTTP 方法

 

方法  描述 
 GET 请求指定的页面信息,并返回实体主体 
POST 

向指定的资源提交数据进行处理请求, 数据被包含

早请求体重, POST请求可能会导致新的资源建立

和/或已有资源的修改

PUT  向服务器传送数据取代指定的文档的内容 
DELETE 请求服务器删除指定页面 

 

倒排索引

根据属性的值来查找记录

这种索引表的每一项都包括一个属性值和具有该属性值的各记录的地址

带有倒排索引的文件我们称之为倒排索引文件, 简称倒排文件

待解决问题

  ▧ 大小写转换问题

  ▧ 词干抽取

  ▧ 分词

  ▧ 压缩编码

 

posted @ 2019-05-20 21:40  羊驼之歌  阅读(134)  评论(0编辑  收藏  举报