zoukankan      html  css  js  c++  java
  • Elasticsearch了解

    0、简介

    Elasticsearch常见的用方法是大规模的数据检索。基于TF-IDF的词频匹配模型,支持相关性搜索或应用与搜索建议的使用场景。

     

    通过同步机制,将关系数据库中的数据同步到ES中,基于ES做检索,可以提供超越SQL的强大的检索能力。

    将数据分片存储,集群化,通过增加更多的服务器实现扩容或容错性。

    1、定义文档、类型和索引

    ES的数据存储单位是文档,一篇文档通常用JSON表示。

    无模式:ES是无模式的,文档并不受模式的限制。它们并不需要拥有映射中所定义的所有字段,也可能提出新的字段。这是如何运作的?首先,映射包含某个类型中当前索引的所有文档的所有字段。但是不是所有的文档必须要有所有的字段。同样,如果-篇新近索引的文档拥有一个映射中尚不存在的字段,Elasticsearch 会自动地将新字段加入映射。为了添加这个字段,Elasticsearch不得不确定它是什么类型,于是Elasticsearch 会进行猜测。但是这种猜测可能会出现错误,因此需要在索引数据之前,定义好所需的映射。

    2、Elasticsearch节点、主分片和副本分片

    EIasticsearch 索引被分解为多块: 分片。一份分片是一个Lucene 的索引, 所以一个Elasticsearch的索引由多个Lucene 的索引组成。这是合理的, 因为EIasticsearch 使用Apache Lucene 作为核心的程序库进行数据的索引和搜索。

    默认情况下, 每个索引由5 个主要分片组成, 而每份主要分片又有一个副本, 一共10 份分片,如图2、3 所示。

     

    分布式索引和搜索

     

       

    3、通过cURL和一个数据集来索引文档

    Windows系统可以安装Cygwin来发送HTTP数据。ES可以通过HTTP的方式设置索引和检索内容。

    创建一个索引:curl -XPUT 'localhost: 9200/new—index'

    获取索引:curl ' localhost: 9200/get—together/_mapping/group?pretty

    4、搜索和检索数据

    5、设置Elasticsearch配置选项

    6、在多个节点上工作

  • 相关阅读:
    JavaScript的数据类型
    伪元素和伪类的区别是什么?
    伪元素::before和::after的详细介绍
    Ksoap2 获取webservice返回值的getResponse() 出现的问题
    解决dropdownlist postback 在 iphone UIwebview 失效的问题
    javascript雪花效果 注释版
    金山词霸每日一句开放平台 .NET demo
    【摘抄】Application.StartupPath和System.Environment.CurrentDirectory的区别
    EditText 监听回车事件 避免2次触发
    【代码】ini 文件读取工具类
  • 原文地址:https://www.cnblogs.com/w-honey/p/12671020.html
Copyright © 2011-2022 走看看