月度归档:2015年07月

elasticsearch权威指南 学习30

elasticsearch权威指南-- getting start 第十章 Index Management(4)

Configuring Analyzers

index setting中第三重要的部分就是analysis部分,在这部分你可以自己指定内置的analyzers或者指定自定义的索引。

在Analysis and Analyzers部分,我们曾经介绍过一些内建的analyzers,这些analyzers可以将全文(full-text)索引转换为倒排索引,使其可以被检索到。

继续阅读

elasticsearch权威指南 学习28

elasticsearch权威指南-- getting start 第十章 Index Management(2)

Deleting an Index

我们可以使用delete请求来删除一个索引:

DELETE /my_index

同时也可以删除多个index,像下面这样:

DELETE /index_one,index_two

DELETE /index_*

同时也可以删除所有的index:

DELETE  /_all

elasticsearch权威指南 学习27

elasticsearch权威指南-- getting start 第十章 Index Management(1)

Creating an Index

到现在为止,我们只是使用简单的document来创建一个index,而且index的创建都是使用默认的设置。同时新的字段mapping也用的是默认的动态mapping。而现在我们需要对index的创建有更多的控制,比如我们要设置合适的主分片大小,或者是否进行分词等。为了做到这些,我们需要手动的创建索引,同时在request body中通过setting和type mapping进行响应的设置,像如下这样:

继续阅读

elasticsearch权威指南 学习26

elasticsearch权威指南-- getting start 第八章 Sorting and Relevance(4)

Fielddata

在这章的最后一节,我们不会再讲解什么新技术了。而是来聊聊fielddata这个我们之前一再提到的概念,因为它有些内容还是需要我们了解的。

继续阅读

elasticsearch权威指南 学习24

elasticsearch权威指南-- getting start 第八章 Sorting and Relevance(2)

String Sorting and Multifields

被分词(Analyzed)的字段常常会被分词成多个字段,但是对他们进行排序往往不能得到想要的结果,如果你对一个字符串进行排序,比如像对fine old art进行分词,它会被分解成三个term,我们可能想按首字母排序然后返回结果,但是es并不是按照这样的顺序返回结果的,而是将这个字符串分成三个term,然后对所有的term进行排序。

继续阅读

elasticsearch权威指南 学习23

elasticsearch权威指南-- getting start 第八章 Sorting and Relevance(1)

Sorting

为了通过相关性来进行排序,elasticsearch用返回结果中的_score来描述相关性。

有些时候我们可能不一定会得到一个有意义的score,比如像下面这个查询一样:

继续阅读

elasticsearch权威指南 学习22

elasticsearch权威指南-- getting start 第七章 Full Body Search(6)

Validating Queries

queries会随着业务的增长变的复杂,特别是当我们当我们把analyzers和field mapping结合在一起的时候,同时也会使json结构的查询变得很难懂,所以validate-query API就是用来检查我们的查询是否正确。

继续阅读

elasticsearch权威指南 学习21

elasticsearch权威指南-- getting start 第七章 Full Body Search(5)

Combining Queries with Filters

queires和filter都有其各自的使用场景,但是elasticsearch也允许我们将二者结合起来,在elasticsearch中将filter加入到queries中是很常见的,但是将queries作为一个filter却不是很常见。下面我们就看看es是如何做到这些的。

继续阅读