发布于 2016-02-07 23:53:22 | 234 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的ElasticSearch权威指南,程序狗速度看过来!
ElasticSearch 基于Lucene的搜索引擎
ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的。
ElasticQuery v3 发布,该版本改进内容包括:
完全支持 ES 2 DSL
移除对 Filter
& ES 1 的支持
尽可能使用 ValueError 替代 Exceptions
100% 测试覆盖率
ElasticQuery 是用于 ElasticSearch 的简单查询构建器。可使用 metod 方法调用和相应的参数来生成查询、过滤和聚合对象。输出的 dict/json 可直接传递给 ES。
示例代码:
from elasticsearch import Elasticsearch from elasticquery import ElasticQuery, Filter, Query # Create a query with our ES index details q = ElasticQuery( es=Elasticsearch(), index='mapping_test', doc_type='doc_mapping' ) # Query it! q.query( Query.terms('my_field', ['my', 'terms']) ) # Aggregate it! q.aggregate( Aggregate.sum('my_agg', 'my_field') ) # Print the query, then run on ES and print it's output print q.json(indent=4) print q.get()