jsearch的索引文件结构

标签: search | 发表时间:2015-05-18 20:22 | 作者:
分享到:
出处:http://my.oschina.net/apdplat

jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级。


jsearch的索引文件结构定义如下:

    1、一个词的索引由 =分割的三部分组成:
       
第一部分是词
       
第二部分是这个词在多少个文档中出现过(上限 1000
       
第三部分是倒排表
    2
、倒排表由多个倒排表项目组成,倒排表项目之间使用 |分割
    3
、倒排表项目的组成又分为三部分,用 _分割:
       
第一部分是文档 ID
       
第二部分是词频
       
第三部分是词的位置
    4
、词的位置用 :分割
   
   
例如 :
    shingles=31=47466_1_2|1_1_6|1_1_1|2_1_5|67_1_1|903_1_3|17_1_5|1_3_4:6:11
   
表示词 shingles 的索引:
   
词: shingles
   
31 个文档包含 shingles 这个词
   
包含这个词的第一篇文档的 ID47466
    shingles
的词频是 1,出现 shingles 的位置是 2
   
文档内容为:
    A better solution is to use shingles, which are compound tokens created
    from multiple adjacent tokens.
   
对文档内容进行分词并移除停用词之后的结果为:
    [solution, shingles, compound, tokens, created, multiple, adjacent, tokens]
   
   
包含这个词的第二篇文档的 ID47466+1=47467
    shingles
的词频是 1,出现 shingles 的位置是 6
   
文档内容为:
    Lucene has a sandbox module that simplifies adding shingles to your index,
    described in section 8.3.2
   
对文档内容进行分词并移除停用词之后的结果为:
    [lucene, sandbox, module, simplifies, adding, shingles, index, section]
   
   
包含这个词的第八篇文档的 ID47466+1+1+2+67+903+17+1=48458
    shingles
的词频是 3,出现 shingles 的位置分别是 4611
   
文档内容为:
    For example the sentence “please divide this sentence into shingles”
    might be tokenized into the shingles “please divide”, “divide this”,
    “this sentence”, “sentence into” and “into shingles”
   
对文档内容进行分词并移除停用词之后的结果为:
    [sentence, divide, sentence, shingles, tokenized, shingles, divide, divide, sentence, sentence, shingles]
   
   
这里需要注意的是位置不是和原文一一对应的,而是和去除停用词后的位置一一对应的
    停用词的定义看 这里的链接
分词使用 word分词提供的 针对纯英文文本的分词器


   
    





相关 [jsearch 索引 文件结构] 推荐:

jsearch的索引文件结构

- - 杨尚川的个人页面
jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级. jsearch的索引文件结构定义如下:.     1、一个词的索引由 =分割的三部分组成:.         第二部分是这个词在多少个文档中出现过(上限 1000).         第三部分是倒排表.

Linux 文件结构

- Lamo - LinuxTOY
想了解 Linux 文件系统树形结构,却又不愿翻阅 FHS 的朋友,可以参考 skill2die4 制作的这张简图. 此图算是 FHS 的图形化版本,简要的说明了 Linux 系统中各个目录的用途及层级关系,适合初学者使用参考. 不过其中较新的如 /run 目录并未在其中出现. 分类: Screenshots, Tips |.

Linux 文件结构 — LinuxTOY

- oak - linuxtoy.org
想了解 Linux 文件系统树形结构,却又不愿翻阅 FHS 的朋友,可以参考 skill2die4 制作的这张简图. 此图算是 FHS 的图形化版本,简要的说明了 Linux 系统中各个目录的用途及层级关系,适合初学者使用参考. 不过其中较新的如 /run 目录并未在其中出现.

Java的 class文件结构

- - Java - 编程语言 - ITeye博客
Java-class文件结构.        我们都知道我们现在写的源代码计算机是不认识的,我们需要根据指定的编译器进行编译-连接-执行,这样才是我们想要的结果,所以计算机只能认识0或者1 ,那么如何与操作系统或者机器指令无关的程序能执行,那么在操作系统以及机器指令之上的那就是虚拟机了,这样我们编写的代码不再是最终形成二进制本地指令代码,而是一种在操作系统和机器指令之上的虚拟机规定的文件格式.

EXE文件结构及读取方法

- - CSDN博客推荐文章
     EXE File英文全名executable file ,译作可执行文件,可移植可执行 (PE) 文件格式的文件,它可以加载到内存中,并由操作系统加载程序执行,是可在操作系统存储空间中浮动定位的可执行程序. 如记事本程序notepad.exe ,可以用来编辑文档,如:测试.txt双击打开notepad.exe记事本程序来进行编辑处理.

SQL Server--索引

- - CSDN博客推荐文章
         1,概念:  数据库索引是对数据表中一个或多个列的值进行排序的结构,就像一本书的目录一样,索引提供了在行中快速查询特定行的能力..             2.1优点:  1,大大加快搜索数据的速度,这是引入索引的主要原因..                             2,创建唯一性索引,保证数据库表中每一行数据的唯一性..

MongoDB 索引

- - 博客园_首页
索引是用来加快查询的,数据库索引与数据的索引类似,有了索引就不需要翻遍整本书,数据库可以直接在索引中查找,. 使得查询速度很快,在索引中找到条目后,就可以直接跳转到目标文档的位置.. 要掌握如何为查询配置最佳索引会有些难度.. MongoDB索引几乎和关系型数据库的索引一样.绝大数优化关系型数据库索引的技巧同样适用于MongoDB..

倒排索引

- - CSDN博客推荐文章
倒排索引(英语:Inverted index),也常被称为反向索引、置入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射. 它是文档检索系统中最常用的数据结构. 有两种不同的反向索引形式:. 一条记录的水平反向索引(或者反向档案索引)包含每个引用单词的文档的列表.

oracle 索引

- - 数据库 - ITeye博客
        自动:在使用primary和unique后系统会自动创建唯一索引.         手动:create   index   索引名  on 表名(字段1,....). 查询表上有哪些索引(网上找的,能用,表名和索引名要大写). 1、查找表的所有索引(包括索引名,类型,构成列):. select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 要查询的表.