zoukankan      html  css  js  c++  java
  • 37.query string、_all metadata

    主要知识点

    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",同时对该字符串进行分词后建立对应的倒排索引。

  • 相关阅读:
    最全的机器学习资源整理
    论文写作技巧
    制造业期刊-ZT
    机器学习中的算法(2)-支持向量机(SVM)基础
    定语从句
    Digital Twin的8种解读!
    详解BOM用途分类及在汽车企业中的应用
    Intellij IDEA运行报Command line is too long解法
    计算机行业各种职业技能树
    invocationCount和invocationTimeOut
  • 原文地址:https://www.cnblogs.com/liuqianli/p/8468543.html
Copyright © 2011-2022 走看看