首页 > 其他分享 >ES中的模糊查询

ES中的模糊查询

时间:2023-12-06 16:12:33浏览次数:39  
标签:log boost 模糊 查询 content wildcard query true ES

1.如果目标字段类型是keyword,可以用wildcard 语法进行查询

{
                    "wildcard":{
                        "log_content":{
                            "wildcard":"*aaa*",
                            "boost":1
                        }
                    }
 }

配合使用

{
    "query":{
        "bool":{
            "must":[
                {
                    "terms":{
                        "resourceId":[
                            "es-465dilnawj"
                        ],
                        "boost":1
                    }
                },
                {
                    "wildcard":{
                        "log_content":{
                            "wildcard":"*aaa*",
                            "boost":1
                        }
                    }
                },
                {
                    "range":{
                        "time":{
                            "from":1701844550000,
                            "to":1701844554000,
                            "include_lower":true,
                            "include_upper":true,
                            "boost":1
                        }
                    }
                },
                {
                    "term":{
                        "slowLogType":{
                            "value":"ES_INDEX",
                            "boost":1
                        }
                    }
                }
            ],
            "adjust_pure_negative":true,
            "boost":1
        }
    },
    "sort":[
        {
            "time":{
                "order":"desc"
            }
        }
    ]
}

java代码

QueryBuilders.wildcardQuery("log_detail.index","*" + param.getIndex() + "*")

2.如果目标字段是text类型,模糊查询使用match查询

{
          "match": {
            "log_content": {
              "query": "天"
            }
          }
        }

配合使用

{
  "query": {
    "bool": {
      "must": [
        {
          "terms": {
            "resourceId": [
              "es-465dilnawj"
            ],
            "boost": 1
          }
        },
        {
          "match": {
            "log_content": {
              "query": "天"
            }
          }
        },
        {
          "range": {
            "time": {
              "from": 1701844550000,
              "to": 1701844554000,
              "include_lower": true,
              "include_upper": true,
              "boost": 1
            }
          }
        },
        {
          "term": {
            "slowLogType": {
              "value": "ES_INDEX",
              "boost": 1
            }
          }
        }
      ],
      "adjust_pure_negative": true,
      "boost": 1
    }
  },
  "sort": [
    {
      "time": {
        "order": "desc"
      }
    }
  ]
}

java代码

QueryBuilders.matchQuery("log_content",param.getLogContent())

标签:log,boost,模糊,查询,content,wildcard,query,true,ES
From: https://www.cnblogs.com/PythonOrg/p/17879756.html

相关文章

  • powerDesigner导出Excel脚本
    导出excel的脚本如何将里面的表结构导出来到本地excel呢?步骤:(1)打开powerDesigner,同时按住ctrl+shift+X,脚本框就会弹出来同时按住ctrl+shift+X,脚本框就会弹出 (2)在脚本框中输入下面的代码(无需修改,直接复制粘贴就可),按下“Run”  分目录递归,查找当前PDM下所有表,并导出Exce......
  • selenium.common.exceptions.SessionNotCreatedException: Message: session not crea
    pyhon调selenium报:selenium.common.exceptions.SessionNotCreatedException:Message:sessionnotcreated:ThisversionofChromeDriveronlysupportsChromeversion103Currentbrowserversionis120.0.xxx.0withbinarypathC:\ProgramFiles\Google\Chrome\......
  • pip:Unable to create process using ‘“‘错误
    学习自:完美解决:执行pip时Unabletocreateprocessusing‘“‘错误(详细流程)-CSDN博客1、背景1)在一台新电脑上安装了python3.6;2)将python3.6和python3.6的Scripts目录都加入到了环境变量中;3)cmd命令行中输入python3可以顺利进入Python控制台;4)输入pip3报错Unabletocreatepro......
  • The 2022 ICPC Asia Hangzhou Regional Contest
    A.ModuloRuinstheLegend首先题目要求的是$(\sum(a_i+s+i\timesd))%m$的最小值等价于求\((\suma_i+n\timess+\frac{n(n+1)}{2}\timesd)\%m\)的最小值令\(sum=(\suma_i)\%m,a=n\%m,b=(\frac{n(n+1)}{2})%m\)即求\((sum+as+bd)\%m\)的最小值其......
  • Data is Null. This method or property cannot be called on Null values.
    升级到abp.io7.4EF报错System.Data.SqlTypes.SqlNullValueException:DataisNull.ThismethodorpropertycannotbecalledonNullvalues.atMicrosoft.Data.SqlClient.SqlBuffer.ThrowIfNull()atMicrosoft.Data.SqlClient.SqlBuffer.get_String()atMicroso......
  • 【Java 进阶篇】Java Session 原理及快速入门
    大家好,欢迎来到本篇博客。今天,我们将探讨JavaWeb开发中一个重要而令人兴奋的概念,即Session(会话)。Session是一种在Web应用程序中跟踪用户状态和数据的机制。我们将深入了解Session的原理,并通过示例来快速入门。什么是Session?在Web开发中,Session是一种服务器端的机制,用于跟踪用户与W......
  • 在MySql一个数据源的所有数据库中根据数据表注释查询数据表所属数据库以及表名_根据某
    Selecttable_schema'数据库名',table_name表名,TABLE_COMMENT'表注解'fromINFORMATION_SCHEMA.TABLESWhereTABLE_COMMENTLIKE'%环境监测%';selectTABLE_SCHEMA'数据库名',TABLE_NAME'表名',COLUMN_NAME'列名',CO......
  • 7 种查询策略教你用好 Graph RAG 探索知识图谱
    近来NebulaGraph社区在LLM+Graph和GraphRAG领域进行了深入的探索和分享。在LlamaIndex和LangChain中,NebulaGraph引入了一系列知识图谱和图存储工具,支持编排、图谱与大模型间的交互。之前,NebulaGraph布道师古思为作为这项工作的主要贡献者已向大家详细介绍了如何构......
  • celery 5.3.6 报错ValueError: not enough values to unpack (expected 3, got 0)
    celery5.3.6报错ValueError:notenoughvaluestounpack启动celery脚本报错执行 pythonrun_task.py报错,celery服务端和脚本端日志信息如下 #celery-Atasksworker--loglevel=INFO--------------celery@DESKTOP-BQAR0JRv5.3.6(emerald-rush)---*****--......
  • 移动app之base64编码后的AES加密流量
    移动app之base64编码后的AES加密流量别搁那你抄我,我抄你了。咱直接抄海外okay?参考资料:https://www.vaadata.com/blog/insecure-authentication-tokens-leading-to-account-takeover/技术点AES-256-CBC加密base64编码会话管理请求包:GET/loginHTTP/1.1Host:172.23.7......