轻量级的搜索—— query string search ——对命令行的即席查询来说是十分有用的。然而为了驾驭搜索的强大功能,你应该使用带请求体的search API,之所以这样,是因为很多的参数是在JSON的请求体中的而不是查询字符串。请求体查询——从现在开始就是”search“——不仅仅自身处理... Read More
posted @ 2014-06-04 11:29 QQ1350995917 Views(212) Comments(0) Diggs(0)
除了前面已经提到的简单的数据类型,JSON也有null,array和object类型,这些都是被ES支持的。Multi-value fields我们想让我们的tag field的值多于一个而不是一个字符串,这个也是可能的,我们能把一个数组存储到tags:{"tag":["search","nosql... Read More
posted @ 2014-06-04 11:10 QQ1350995917 Views(480) Comments(0) Diggs(0)
就像是在Data in, data out中解释过的,index中的每个document都有type。每个type都有自己的mapping或者schema definition。在type中mapping定义filed,定义每个filed中的数据类型,定义ES怎么处理这个filed,mapping也... Read More
posted @ 2014-06-03 20:11 QQ1350995917 Views(981) Comments(0) Diggs(0)
分词过程如下:首先,把一段文字标记为适合在inverted index中使用的单个的terms。然后,把terms转化为标准的格式,以方便搜索或回召。这个工作由分词器执行,分词器就是整合了三个功能的封装:1:字符过滤器(Character filters),首先,string是有序的通过字符过滤器。... Read More
posted @ 2014-06-03 15:45 QQ1350995917 Views(759) Comments(0) Diggs(0)
ES中的数据可以广义的分为两种类型:精确值和全文值精确值就是想他们本来的意思一样存储。例如,date或者用户ID,可以作为精确的string类型进行存储,就像一个用户名或邮箱地址一样,精确的值“Foo”和精确值”foo“是不同的,精确值2014和精确值2014-09-15也是不同的。全文字,也就是和... Read More
posted @ 2014-06-03 11:51 QQ1350995917 Views(677) Comments(0) Diggs(0)
当在index中操作数据的时候,我们会发现一些奇怪的现象,一些现象会打破我们原有的预想:现在在index中有12个tweets,只有其中的一个tweets包含了2014-09-15这个日期,但是看看下面查询语句的返回中total:GET /_search?q=2014 #12 resul... Read More
posted @ 2014-06-03 11:21 QQ1350995917 Views(740) Comments(0) Diggs(0)
ES有两种格式的search api:“lite”——query string版本,这个版本期望所有的参数在请求中指定并传递full request body版本期望得到一个JSON请求体,并且使用一个名为DSL的丰富的搜索语言query string搜索对在使用命令行的即席查询(ad hocque... Read More
posted @ 2014-05-27 15:53 QQ1350995917 Views(786) Comments(0) Diggs(0)
在empty search above中我们说过,在cluster中进行无任何条件的搜索的时候,符合条件的有14个document,但是在返回的hits数组中只有10个。那么怎么看到其他的document呢。就像是SQL使用关键字LIMIT进行分页一样,ES也提供了from和size参数实现类似的功... Read More
posted @ 2014-05-27 14:51 QQ1350995917 Views(272) Comments(0) Diggs(0)
在empty search中你是否注意到了查询的结果中包含了不同的type:有来自us中的user,有来自gb中的tweet。不限值index和type我们能搜索整个cluster中的所有的document,ES会把请求分发到cluster中所有的primary和replica,然后返回结果的前十条... Read More
posted @ 2014-05-22 21:45 QQ1350995917 Views(438) Comments(0) Diggs(0)
最基础的search api格式是empty search,这个search不指定任何的查询条件,就是返回cluster中的所有的index的document: GET /_search相应的消息如下:{ "hits":{ "total": 14, "hits":[ { ... Read More
posted @ 2014-05-22 21:01 QQ1350995917 Views(1210) Comments(0) Diggs(0)