zoukankan      html  css  js  c++  java
  • lucene查询语法简介

    为什么要介绍lucene:我们在ELK中搜索相关日志的时候,搜索语言需要遵循Lucene才可以匹配到需要的信息

    什么是LuceneLucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供

    参考:

    https://lucene.apache.org/core/2_9_4/queryparsersyntax.html#NOT

    http://www.lucenetutorial.com/lucene-query-syntax.html


    1 
    全文搜索(有空格一定要 用双引号 引起来)

    举例 搜索含有my name的字符串

    "my name"因为中间有空格,所有需要用双引号引起来。

    2 字段搜索
    可以按页面左侧显示的字段搜索
    限定字段全文搜索: field:value 
    精确搜索:关键字加上双引号 filed:"value" 
    http.code:404 搜索http状态码为404的文档
    字段本身是否存在
    _exists_:http :返回结果中需要有http字段
    _missing_:http :不能含有http字段

    举例: 
    a. 搜索domainname为search.s.xxx.com的
    domainname:search.s.d.xxx.com 
    写法或者
    domainname:"search.s.d.xxx.com"

    b.搜索状态为400的 或者200的
    status:404

    c.范围值有
    status:[400 TO 499]

    与与操作 公用
    status:500 AND remote_addr:X.X.X.X
    或者
    status:500 AND remote_addr:"X.X.X.X"

    status:200 AND remote_addr:X.X.X.X


    非且与
    (NOT status:200) AND remote_addr:X.X.X.X

    匹配 非status为200 的起remote_add是 X.X.X.X的
    status:502 AND domainname:www.XXX.com

    "png" NOT "A.XXX.com" NOT "=png"

    3 通配符
    ? 匹配单个字符
    * any 
    + >=0
    ? * 不能用作第一个字符,例如: ?text *text

     
    4 逻辑操作
    AND 
    OR
    + :搜索结果中必须包含此项
    - :不能含有此项
    +apache -jakarta test :结果中必须存在apache,不能有jakarta,test可有可无
    分组
    (jakarta OR apache) AND jakarta
    字段分组
    title:(+return +"pink panther")
    转义特殊字符
    + - && || ! () {} [] ^" ~ * ? :  
    以上字符当作值搜索的时候需要用  转义

    lunces语法: 不匹配v2字符串
    domainname:"B.XXX.com" AND -request:"v2"

    “-”操作符或者禁止操作符排除含有”-”后面的相似项的文

  • 相关阅读:
    new和base的语法
    js常用代码
    无法识别connectionStrings
    DataTable
    字符串的操作时间格式化
    Facade外观模式(转载cnblogs)
    ArrayList下的循环绑定和循环删除
    自定义属性与事件委托相结合的实例
    泛型 开放类型和构造类型(基础学习)
    C#策略模式 摘自jspcool
  • 原文地址:https://www.cnblogs.com/AirCrk/p/6979222.html
Copyright © 2011-2022 走看看