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": "jack@sina.com",
"address": "guamgzhou"
}
es中的_all metadata的值就是 "jack 26 jack@sina.com guangzhou",同时对该字符串进行分词后建立对应的倒排索引。
37.query string、_all metadata的更多相关文章
- Elasticsearch由浅入深(七)搜索引擎:_search含义、_multi-index搜索模式、分页搜索以及深分页性能问题、query string search语法以及_all metadata原理
_search含义 _search查询返回结果数据含义分析 GET _search { , "timed_out": false, "_shards": { , ...
- nodejs笔记三--url处理、Query String;
URL--该模块包含用以 URL 解析的实用函数. 使用 require('url') 来调用该模块. 一.parse函数的基础用法 parse函数的作用是解析url,返回一个json格式的数组,请看 ...
- http 请求参数之Query String Parameters、Form Data、Request Payload
Query String Parameters 当发起一次GET请求时,参数会以url string的形式进行传递.即?后的字符串则为其请求参数,并以&作为分隔符. 如下http请求报文头: ...
- query string parameters 、 Form Data 、 Request Payload
微信小程序ajax向后台传递参数的时候总是报400错误 然后看了一下network 发现是query string parameters,但是我写的header如下 header:{ "Co ...
- 图解elasticsearch的_source、_all、store和index
Elasticsearch中有几个关键属性容易混淆,很多人搞不清楚_source字段里存储的是什么?store属性的true或false和_source字段有什么关系?store属性设置为true和_ ...
- Elasticsearch学习之图解Elasticsearch中的_source、_all、store和index属性
转自 : https://blog.csdn.net/napoay/article/details/62233031 1. 概述 Elasticsearch中有几个关键属性容易混淆,很多人搞不清楚_s ...
- 42.query string分词
主要知识点: 1.queery string 分词 2.38节中搜索结果解析 3,测试分词器 一.query string分词 query string必须以和index建立时相同的analy ...
- Elasticsearch-如何控制存储和索引文档(_source、_all、返回源文档的某些字段)
Elasticsearch-如何控制存储和索引文档(_source._all) _source:可以在索引中存储文档._all:可以在单个字段上索引所有内容. 1. 存储原有内容的_source _s ...
- elasticsearch 基础 —— Query String
使用查询解析器来解析其内容的查询.下面是一个例子: GET /_search { "query": { "query_string" : { "def ...
随机推荐
- cocos2d-x andriod, Box2D.h: No such file or directory
原文链接:r=47980">http://www.cocos2d-x.org/forums/6/topics/47503? r=47980 You need to include li ...
- (OK) Installing Quagga—zebra—configure—make—CentOS7
-------------------Installing Quagga # tar xzf quagga-0.99.21mr2.2.tar.gz # cd quagga-0.99.21mr2.2 / ...
- jQuery - 选中复选框则弹出提示框
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- QMessageBox 的四种用法
void MainWindow::on_info_clicked() { //info QMessageBox::information(this, "Title", " ...
- user和userdebug区别
user:不可以root userdebug:可以root
- Java插入中文到数据库中文变成问号解决
转自:https://blog.csdn.net/hellosweet1/article/details/81673152 之所以会出现乱码,就是编码方式不一致导致的 我们应该首先确定 ...
- E20170817-ts
panel n. 镶板; 面; (门.墙等上面的) 嵌板; 控制板; inventory n. 清查; 存货清单; 财产目录,财产目录的编制; 存货总值;
- Play on Words(欧拉路)
http://poj.org/problem?id=1386 题意:给定若干个单词,若前一个的尾字母和后一个单词的首字母相同,则这两个单词可以连接,问是否所有的单词都能连接起来. 思路:欧拉路的判断, ...
- selenium3 + python - gird分布式(转载)
本篇转自博客:上海-小T 转载链接:https://blog.csdn.net/real_tino/article/details/53467406 Selenium grid是用来分布式执行测试用例 ...
- Django day11(一) ajax 文件上传 提交json格式数据
一: 什么是ajax? AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”.即使用Javascript语言与服务器进行异步交互 ...