应用大白全文检索

搜索内容,相关概念和语法

全文检索页面中,搜索内容是接受用户文字输入的地方:

用于搜索的文字,可以是简单明了的普通文字,比如:

  • abcd
  • 应用大白

等等 ,也可以是符合lucene语法的文字,比如:

  • "Started GET "/products"
  • GET AND ( *front* OR *user* ) AND NOT ( *asset* OR *uploads* )

等等。其实,简单的普通文字,也是按照 lucene 语法进行搜索的。

有几个关键的概念:片段、分词、Lecene语法,可以为您进行有效率的搜索:

片段

片段的概念,请参考:概念(三):搜索条件和片段,这里要强调的是:

  1. 在搜索内容中输入的文字,没有特别指定的话,将在所有的片段中查找;
  2. 所有跟踪的日志文件的内容,所有上传文件的内容,其数据,都保存在 message 片段中;

所以:

当您只希望搜索:日志文件的内容,上传文件的内容,那么可以在搜索文字的前方加入 message: 比如下图:

当您希望搜索:自定义片段的内容,模版定义的某个片段的内容,就可以在搜索文字的前方加入 片段名: 比如下图:

分词

日志文件的内容,上传文件的内容,都保存在message片段中,并且在保存的时候,进行了分词。

所谓分词,就是把长文(full_text)分解成一个一个单词( Term ),比如:长文 Red Apple!  在分词之后,就生成了两个 Term 

  • Red
  • Apple

注意:Apple 后面的感叹号在分词后,不构成任何一个 Term 。

搜索

应用大白所有的搜索,当对 message 片段进行的时候,就是对这些经过分词的保存下来的 Terms 一个一个进行匹配的工作;当对其他片段(自定义片段,模版定义的片段)进行的时候,比较简单,因为这些片段没有经过分词,整个是作为一个 Term 保存下来的,所以搜索的匹配工作,就把搜索词(搜索内容中输入的内容)和这一个Term进行匹配。

搜索词,将按照Lucene语法,对 Term 进行匹配。

随后的文章将讲述Lucene语法在应用大白中的运用。



    本文原创,属于上海悦勤信息科技有限公司
    如需转载,请注明出处:上海悦勤信息科技有限公司:应用大白全文检索
    如需合作,请拨打电话:186-2150-3806