首页 > 代码库 > luke使用

luke使用

Luke介绍

Luke是一个方便的索引查看和诊断工具,可以访问Lucene构建的索引文件,显示和修改某些索引内容。能提供:

 

  • 通过document编号或term浏览索引
  • 查看document内容,可复制到剪贴板
  • 对频率最高的term的索引字段提供排名后的浏览
  • 执行搜索语句并浏览搜索结果
  • 分析搜索结果
  • 从索引中选择性删除文件
  • 重建原始文档字段,对其进行编辑,然后重新插入的索引
  • 优化索引
  • 可以打开hadoop文件系统内的索引文件

首次用Luke打开索引文件。Overview里面显示了索引具有的Field数目(以最大的Field为准吧?),还有就是文档的总数和 Term即索引词的总数? 有时一个关键词,对应于多个文档,所以文档数要多于关键字数目。

还显示了索引的版本和索引的格式。 类似于Java class的格式做法,在文件头部放了对应的Lucene版本信息吧。。。

右下方的Rank是怎么算出来的?事实上我并没有做什么操作啊。。。

技术分享

在Document视图,根据doc号,查看具体的文档项,这个功能不错。

技术分享

通过Document标签可以查看各个Term,点击show All,会进入search页面,显示使用term查询,匹配的所有记录。 这里的term就相当于 查询关键字吧。。。

技术分享

Luke的查询结果和直接的代码查询结果是一致的。。。

这个功能赞的。通过luke就可以直接研究索引文件里面的内容了。。。。。

技术分享

技术分享

在查询标签,选择分词器。。。。点击查询就可以查了。。。 这里选择的是CJK分词器,针对东亚文字的分析器。。。

技术分享

技术分享

使用同一个数据源,现在搜到的东西是一样了,呵呵...

技术分享

技术分享

在Search标签页里,点击Explain structure,可以看到对查询字符串的分词结果。。。.

(在查询输入框)更新查询字符串之后,需要点击update,才会更新下面的字符。。。

技术分享

技术分享

Term对应的各个文档,这里相当于是遍历列表?从头到尾的遍历?也可以show all,这会跳转到Search标签。。也可以点击Show Position显示文档的位置信息。 这里的term frequency是指 term在文档中的出现次数。只有Show all,才会触发Search,并跳转到Search标签。

如下操作序列挺有意思的。 首先点击Next term,转到下一个Term,再点击First Doc,显示该Term的第一个Document。

技术分享

技术分享

同个Term对应的文档也是排序的? 这里根据Document之后的数字排列了,至少从截图上看起来是这样的。

技术分享

技术分享

Tool菜单栏里有个Check Index选项:

如下是我对当前操作索引的check操作。。。

Segments file=segments_2 numSegments=1 version=FORMAT_HAS_PROX [Lucene 2.4]

1 of 1: name=_0 docCount=153090

    compound=true

    hasProx=true

    numFiles=1

    size (MB)=17.396

    no deletions

    test: open reader.........OK

    test: fields, norms.......OK [2 fields]

    test: terms, freq, prox...OK [88735 terms; 559179 terms/docs pairs; 563003 tokens]

    test: stored fields.......OK [306180 total field count; avg 2 fields per doc]

    test: term vectors........OK [0 total vector count; avg 0 term/freq vector fields per doc]

No problems were detected with this index.OverView里面的show top terms,显示的是 对应document数目最多的term。。。

可以通过Luke查看文档评分机制的。。。

numDocs是文档总数,docFreq是匹配这个term的文档总数。 idf是定义在这两个量之上的吧。。。。

queryNorm和fieldNorm是怎么算出来的?

技术分享

打开索引时,选择载入内存,速度会快很多。。。

技术分享

luke使用