Elasticsearch: The Definitive
飞奔的代码
java coder
展开
-
Elasticsearch2.x 全文检索之——文档匹配度
什么是文档匹配度? 在es中执行一个搜索请求在默认情况下搜索的结果集是按照匹配度倒序排列。但是什么是文档匹配度?它是如何被计算的呢?原创 2016-09-30 22:58:05 · 5276 阅读 · 0 评论 -
Elasticsearch2.x 全文检索之——Match Query
Match Query Match Query是es官网推荐的首选搜索方式,它的工作流程是先对查询文本分词,然后看分词后的词条是否出在于对应字段上,在字段上出现的词条数越多匹配度越大,所以默认情况下词条与词条之间是通过“or”来连接。 看下面的例子,先创建一个索引并索引4个文档: PUT /my_index { "settings": { "number_of_shards": 1 }}原创 2016-10-06 17:20:53 · 1318 阅读 · 0 评论 -
Elasticsearch2.x 全文检索之——查询合并
查询合并(Combining Queries) 在Combining Filters这一节我们讨论了在布尔过滤器中如何通过and/or/not逻辑来合并多个过滤子句(filte clauses),在查询中bool query跟bool filter是类似的除了一点。 在filter中它做的是一个yes/no的过滤:表示当前文档是否符合过滤条件(是否应该包含在结果集中),其结果只能是yes或no原创 2016-10-06 21:43:45 · 1592 阅读 · 0 评论 -
Elasticsearch2.x 全文检索之——Match转换Bool Query
目前为止,我们已经知道多词条的match queries只是把term query简单的包装了下使用在bool query中,默认情况使用or操作符,它表示每个term query会被加入到should参数中,所以它必须至少满足should参数中指定的查询子句中的一个。 如下两个查询其实是等效的: { "match": { "title": "brown fox"} }{ "boo原创 2016-10-06 22:42:49 · 1026 阅读 · 0 评论