码迷,mamicode.com
首页 > Web开发 > 详细

37.query string、_all metadata

时间:2018-02-25 11:12:52      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:dex   gpo   span   class   必须   query   san   font   search   

主要知识点

1query string基础语法

2_all metadata的理解

   

一、query string基础语法

1GET /test_index/test_type/_search?q=test_field:test

查询test_field这个field(字段)中包含关键字test的所有数据。

2GET /test_index/test_type/_search?q=+test_field:test

"+"的意思就是必须包含后面的关键字test,其实加不加这个"+"号都是一样的

3GET /test_index/test_type/_search?q=-test_field:test

"-"的意思就是必须不包含后面的关键字test

   

二、_all metadata的原理和作用

GET /test_index/test_type/_search?q=test

可以使用这种语法直接搜索所有的field,任意一个field包含指定的关键字就可以搜索出来。这种语法就用到了_all metadata的原理。

在es建立索引的时候,当我们插入一条document,它里面包含了多个field,此时,es会自动将多个field的值,全部用字符串的方式串联起来,变成一个长的字符串,作为_all field的值,然后分词后建立倒排索引。如果在搜索的时候没有指定对某个特定field进行搜索,就默认搜索_all field的值,其中是包含了所有field的值。

举个例子,假设有一个document的值如下:

{

"name": "jack",

"age": 26,

"email": "jack@sina.com",

"address": "guamgzhou"

}

es中的_all metadata的值就是 "jack 26 jack@sina.com guangzhou",同时对该字符串进行分词后建立对应的倒排索引。

37.query string、_all metadata

标签:dex   gpo   span   class   必须   query   san   font   search   

原文地址:https://www.cnblogs.com/liuqianli/p/8468543.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!