jsearch的索引文件结构

栏目: 编程工具 · 发布时间: 8年前

内容简介:jsearch的索引文件结构

jsearch 是一个高性能的全文检索 工具 包,基于倒排索引,基于 java 8,类似于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  这个词 包含这个词的第一篇文档的 ID47466shingles  的词频是 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=47467shingles  的词频是 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=48458shingles  的词频是 3 ,出现  shingles  的位置分别是 46

11

文档内容为:

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分词 提供的 针对纯英文文本的分词器


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Hit Refresh

Hit Refresh

Satya Nadella、Greg Shaw / HarperBusiness / 2017-9-26 / USD 20.37

Hit Refresh is about individual change, about the transformation happening inside of Microsoft and the technology that will soon impact all of our lives—the arrival of the most exciting and disruptive......一起来看看 《Hit Refresh》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具