zoukankan      html  css  js  c++  java
  • Elasticsearch

    Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。
    它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。
    Elasticsearch是一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。
    但是Lucene只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene。需要很多的学习了解,才能明白它是如何运行的,Lucene确实非常复杂。
    Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。
    当然Elasticsearch并不仅仅是Lucene这么简单,它不但包括了全文搜索功能,还可以进行以下工作:
        分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
        实时分析的分布式搜索引擎。
        可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。

    这么多的功能被集成到一台服务器上,你可以轻松地通过客户端或者任何你喜欢的程序语言与ES的RESTful API进行交流。
    Elasticsearch的上手是非常简单的。它附带了很多非常合理的默认值,这让初学者很好地避免一上手就要面对复杂的理论,
    它安装好了就可以使用了,用很小的学习成本就可以变得很有生产力。
    随着越学越深入,还可以利用Elasticsearch更多高级的功能,整个引擎可以很灵活地进行配置。可以根据自身需求来定制属于自己的Elasticsearch。
    使用案例:
        维基百科使用Elasticsearch来进行全文搜做并高亮显示关键词,以及提供search-as-you-type、did-you-mean等搜索建议功能。

        英国卫报使用Elasticsearch来处理访客日志,以便能将公众对不同文章的反应实时地反馈给各位编辑。

        StackOverflow将全文搜索与地理位置和相关信息进行结合,以提供more-like-this相关问题的展现。

        GitHub使用Elasticsearch来检索超过1300亿行代码。

        每天,Goldman Sachs使用它来处理5TB数据的索引,还有很多投行使用它来分析股票市场的变动。

    但是Elasticsearch并不只是面向大型企业的,它还帮助了很多类似DataDog以及Klout的创业公司进行了功能的扩展。
    Elasticsearch的优缺点:
    优点
        Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
        Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
        处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。
        Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
        各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

    缺点

        只有一名开发者(当前Elasticsearch GitHub组织已经不只如此,已经有了相当活跃的维护者)
        还不够自动(不适合当前新的Index Warmup API)

  • 相关阅读:
    uva 10491 Cows and Cars
    uva 10910 Marks Distribution
    uva 11029 Leading and Trailing
    手算整数的平方根
    uva 10375 Choose and divide
    uva 10056 What is the Probability?
    uva 11027 Palindromic Permutation
    uva 10023 Square root
    Ural(Timus) 1081. Binary Lexicographic Sequence
    扩展欧几里得(求解线性方程)
  • 原文地址:https://www.cnblogs.com/13224ACMer/p/6761823.html
Copyright © 2011-2022 走看看