37.query string、_all metadata

主要知识点

1、query string基础语法

2、_all metadata的理解

一、query string基础语法

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

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

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

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

3、GET /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": "[email protected]",

"address": "guamgzhou"

}

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

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

时间: 2024-10-11 08:52:18

37.query string、_all metadata的相关文章

query string parameters 、 Form Data 、 Request Payload

微信小程序ajax向后台传递参数的时候总是报400错误 然后看了一下network 发现是query string parameters,但是我写的header如下 header:{ "Content-Type":'json' } 所以小程序总是报400 未完待续.... 附对照表 待完善 header:{ "Content-type":'json' }  Request Payload header:{ "Content-type":'x-ww

图解Elasticsearch中的_source、_all、store和index属性

Elasticsearch中有几个关键属性容易混淆,很多人搞不清楚_source字段里存储的是什么?store属性的true或false和_source字段有什么关系?store属性设置为true和_all有什么关系?index属性又起到什么作用?什么时候设置store属性为true?什么时候应该开启_all字段?本文通过图解的方式,深入理解Elasticsearch中的_source._all.store和index属性. 图1 Elasticsearch中的_source._all.stor

42.query string分词

主要知识点: 1.queery string 分词 2.38节中搜索结果解析 3,测试分词器 一.query string分词 query string必须以和index建立时相同的analyzer进行分词 query string对exact value和full text的区别对待 比如我们有一个document,其中有一个field,包含的value是:hello you and me,建立倒排索引. 我们要搜索这个document对应的index,搜索文本是hell me,这个搜索文本就

实现一个函数clone,使JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制

实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. 1 /** 对象克隆 2 * 支持基本数据类型及对象 3 * 递归方法 */ 4 function clone(obj) { 5 var o; 6 switch (typeof obj) { 7 case "undefined": 8 break; 9 case "string": o = obj + &q

6-探秘Java中的String、StringBuilder以及StringBuffer

相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于String.StringBuffer的面试题(辟谣网上流传的一些曲解String类

String、StringBuffer、int的地址不同,equals和=的比较不同

今天做了一个简单的登录界面,用到了struts框架,属性模型获取用户登录信息 1.新建项目struts,新建login.jsp页面,在根目录的WEB-INF文件夹里新建black文件夹,新建welcome.jsp页面,用于登陆成功后跳转.注:WEB-INF文件夹不能直接访问 1 <body> 2 <form action="logincheck.action" method="post"> 3 账户:<input type="

Java知多少(37)静态内部类、匿名内部类、成员式内部类和局部内部类

内部类可以是静态(static)的,可以使用 public.protected 和 private 访问控制符,而外部类只能使用 public,或者默认. 成员式内部类 在外部类内部直接定义(不在方法内部或代码块内部)的类就是成员式内部类,它可以直接使用外部类的所有变量和方法,即使是 private 的.外部类要想访问内部类的成员变量和方法,则需要通过内部类的对象来获取. 请看下面的代码: 1 public class Outer{ 2 private int size; 3 public cl

探秘Java中的String、StringBuilder以及StringBuffer(转载)

探秘Java中String.StringBuilder以及StringBuffer 相信String这个类是Java中使用得最频繁的类之一,并且又是各大公司面试喜欢问到的地方,今天就来和大家一起学习一下String.StringBuilder和StringBuffer这几个类,分析它们的异同点以及了解各个类适用的场景.下面是本文的目录大纲: 一.你了解String类吗? 二.深入理解String.StringBuffer.StringBuilder 三.不同场景下三个类的性能测试 四.常见的关于

Query String模块

一.对象方法 querystring.parse(str[, sep[, eq[, options]]]) //将一个 query string 反序列化为一个对象.可以选择是否覆盖默认的分割符('&')和分配符('='). querystring.stringify(obj[, sep[, eq[, options]]]) //序列化一个对象到一个 query string.可以选择是否覆盖默认的分割符('&')和分配符('=').