显示Lucene索引的内容

问题描述 投票:0回答:4

我正在尝试在 Lucene 中调试索引文档,我需要查看索引的内容,以便我可以准确地看到文档是如何被索引的。据称卢克这样做了,但没有任何相关文档,当我将其指向索引目录时(在其中任何一个目录中,尽管我不知道为什么它无法弄清楚哪个目录是正确的) ,我什么也没得到。当然有一些简单的方法可以做到这一点吗?

lucene luke
4个回答
15
投票

路加福音是最简单的方法。您运行它,浏览到索引,然后就可以开始比赛了。再简单不过了。

还有其他工具,例如LIMO也是一个不错的工具,但它比 Luke 更难上手。

也许如果您向 Luke 提供有关您遇到的问题的一些详细信息,您将能够获得一些帮助。


3
投票

我对Luke了解不多,但我和Lucene合作过很多次。即使使用 Luke,要查看索引的内容也可能很棘手,因为您只能看到存储字段的数据。

对于我做的最后一个 Lucene 项目(实际上是 Solr),我几乎将每个字段都标记为索引但未存储。对于这些情况,为了测试文档是否具有正确的索引术语,我将查询索引以查找具有给定主键和预期术语的文档。如果匹配,那么我知道它用该术语对其进行了索引。

例如,要查看产品 5 是否是英文,我会说 产品 ID:5 和语言:en

我知道这并不能直接回答你关于如何使用 Luke 的问题,但如果 Luke 无法帮助你,这可能是一个替代方案。


1
投票

当您使用“文档”选项卡中的“重建和编辑”按钮时,Luke 尝试显示已索引但未存储的字段中的值。如果我没记错的话,停用词不会出现在“重建和编辑”显示中 - 您会看到“null_1”、“null_2”等内容。


1
投票

可以从源代码编译 luke,同时将 Elastic 搜索格式添加到 Luke MetaINF/services 中。

只要遵循这个方法即可

将 Luke 与 ElasticSearch 结合使用

这也可以用来使用 LUcene 测试自定义发布格式/编解码器

ElasticSearch 使用自定义的倒排格式(倒排格式定义了倒排索引在内存/磁盘上的表示方式),而 Luke 并不知道。要告诉 Luke 有关 ES 发布格式的信息,请按照以下步骤添加 SPI 类。

  1. 克隆卢克源代码库:

2.将您所需的 ElasticSearch 版本的依赖项添加到 Luke 项目的 pom 文件中:

<!-- ElasticSearch -->
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>1.1.1</version>
</dependency>
  1. 编译 Luke jar 文件(创建 target/luke-with-deps.jar):

    $ mvn 包

4.将 Luke 的已知帖子格式列表解压到临时文件:

$ unzip target/luke-with-deps.jar META-INF/services/org.apache.lucene.codecs.PostingsFormat -d ./tmp/
Archive:  target/luke-with-deps.jar
  inflating: ./tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat
  1. 将 ElasticSearch 发布格式添加到临时文件中:

    $ echo "org.elasticsearch.index.codec.postingsformat.BloomFilterPostingsFormat"

    ./tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat $ echo“org.elasticsearch.index.codec.postingsformat.Elasticsearch090PostingsFormat” ./tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat $ echo "org.elasticsearch.search.suggest.completion.Completion090PostingsFormat" ./tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat

  2. 将修改后的文件重新打包回jar中:

    $ jar -uf target/luke-with-deps.jar -C tmp/META-INF/services/org.apache.lucene.codecs.PostingsFormat

  3. 奔跑卢克

    $./luke.sh

© www.soinside.com 2019 - 2024. All rights reserved.