zoukankan      html  css  js  c++  java
  • 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-masterconfigelasticsearch.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-x86inkibana.bat  ,

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

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

     

    elasticsearch  -  概念

    物理概念

    ▧ 集群

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

    ▧ 节点

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

    ▧ 分片

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

    ▧ 副本

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

    逻辑概念

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

    HTTP 方法

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

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

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

    和/或已有资源的修改

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

    倒排索引

    根据属性的值来查找记录

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

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

    待解决问题

      ▧ 大小写转换问题

      ▧ 词干抽取

      ▧ 分词

      ▧ 压缩编码

  • 相关阅读:
    C++中的ravalue学习笔记
    C++中的抽象类
    C++中的显式类型转换
    C++中的继承和多继承
    C++中的多态
    Yocto学习笔记
    HIDL学习笔记
    hadoop2.5搭建过程
    《Redis设计与实现》学习笔记
    40 数组中只出现一次的数字
  • 原文地址:https://www.cnblogs.com/shijieli/p/10896700.html
Copyright © 2011-2022 走看看