zoukankan      html  css  js  c++  java
  • 10 查询字符串,X字段必须包含(不包含)XX;_all原理

    1. 指定某个字段,必须要包含XX字符
      GET /beauties/my/_search?q=Name:Chang Wei
       
    1. 搜出 某个字段不包含XX字符 的所有内容
      GET /beauties/my/_search?q=-Name:Ruru  (搜索结果中,Name都不包含Ruru)
       
    2. 不管哪个字段,只要包含指定字符,就可以返回
      GET /beauties/my/_search?q=Ruru
      原理:ES内部,不是每个字段都去看一下是不是包含Ruru,而是搜索了一个特殊的字段:_all。
     
     
    _all原理:
    ES在插入一条记录的时候,会自动生成一个_all字段,它会把所有
     
    ES在插入一条document,它里面包含了多个field。此时,es会自动将多个field的值,全部用字符串的方式串联起来,变成一个长的字符串,作为_all field的值,同时建立索引
     
    后面如果在搜索的时候,没有对某个field指定搜索,就默认搜索_all field,其中是包含了所有field的值的
     
    举个例子
     
    {
      "name": "jack",
      "age": 26,
      "email": "jack@sina.com",
      "address": "guamgzhou"
    }
     
    "jack 26 jack@sina.com guangzhou",作为这一条document的_all field的值,同时进行分词后建立对应的倒排索引
     
     
  • 相关阅读:
    2020软件工程作业02
    自我介绍
    Requests的使用
    爬虫基本原理
    2019春总结作业
    十二周作业
    十一周作业
    第十周作业
    intellij idea 的全局搜索快捷键方法
    Oracle多表关联
  • 原文地址:https://www.cnblogs.com/cc299/p/11032824.html
Copyright © 2011-2022 走看看