分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

37.query string、_all metadata

发布时间:2023-09-06 01:43责任编辑:苏小强关键词:meta

主要知识点

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

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

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved