ElasticSearch DSL之From/Size,Sort

从这篇文章开始,我们要进入DSL的学习。
使用url搜索仅仅是个开始,ES还提供带有查询DSL的请求体用于更高级的搜索。在这些类型的搜索中有大量可选项,可以混合和匹配不同的选项以获得所需的结果。
DSL还能根据查询子句的过滤和查询上下文,使用筛选器的子句以布尔形式测试Document是否匹配筛选器。过滤器通常也比查询快,但是查询也可以根据Document与查询的匹配程度来计算score。 阅读全文

ElasticSearch查询url基本参数(一)

上一篇文章已经和用ID来发送GET请求来对ElasticSearch的数据进行了特定数据的查询,但ES的强大肯定不会只是有这样简单的API,它有着自己的查询语法来满足多种多样的业务场景,这次就大家介绍下。
官方文档对此的解释:ES提供基于JSON的完整查询Domain Specific Language(特定域语言)来定义查询,其主要由两种类型的句子组成:
1.叶查询子句:叶查询子句查找特定字段中的特定值,例如匹配、术语或范围查询。这些查询可以自己使用。
2.复合查询子句:复合查询子句包装其他叶子或复合查询,并用于以逻辑方式组合多个查询(如bool或dis_max查询),或更改其行为(如constant_score查询)。
怎么样,是不是感觉命名方式和解释很像树? 阅读全文

Elasticsearch基本概念与安装

由于现在所在公司的业务范围越来越大,之前的单纯的使用SQL对商品进行搜索已经不能满足要求,目前主流的开源搜索引擎就是ES和Solr,两者都是基于Lucene的二次高阶开发而来。ES相对与solr最显著的优势应该是分布式的部署,另外Solr在建立实时索引时, 会产生io阻塞,性能查询较差,而ES就没有这个问题,我还有看到有人做过统计,随着数据量的增加solr的搜索效率也会随之降低,而ES却没有明显的变化。考虑到业务场景是电商的商品搜索,其中对于商品的库存相对来说实时性还是很重要的,我开始对ES的学习。 阅读全文