Lucene索引,用于结构化文档,其中每个文本行都有元数据

Lucene索引,用于结构化文档,其中每个文本行都有元数据,lucene,Lucene,我有一个文档结构,文档中的每一行文本都有一些相关的元数据。搜索结果必须显示该行和该行的元数据 目前,我将每一行存储为Lucene文档,并将metata数据存储为非索引字段之一。也就是说,我为每一行创建并添加一个Lucene文档结构。我担心的是,索引中可能会有太多的文档 有没有更优雅的方法 谢谢多少是“太多”?众所周知,Lucene可以在一个索引中处理数亿条记录,所以我怀疑您是否有问题。也就是说,没有什么可以替代自己测试和基准测试,看看这种方法是否适合您的需要。我个人会像往常一样为文档编制索引,稍

我有一个文档结构,文档中的每一行文本都有一些相关的元数据。搜索结果必须显示该行和该行的元数据

目前,我将每一行存储为Lucene文档,并将metata数据存储为非索引字段之一。也就是说,我为每一行创建并添加一个Lucene文档结构。我担心的是,索引中可能会有太多的文档

有没有更优雅的方法


谢谢

多少是“太多”?众所周知,Lucene可以在一个索引中处理数亿条记录,所以我怀疑您是否有问题。也就是说,没有什么可以替代自己测试和基准测试,看看这种方法是否适合您的需要。

我个人会像往常一样为文档编制索引,稍后再计算元数据/行号


毫无疑问,Lucene是否能够处理这么多文档,但是它可能会在一定程度上降低搜索结果。因为您可以在搜索时查找彼此非常接近的多个术语,但是当这些术语被拆分到多个文档(行)中时,这显然不起作用。

您是正确的。我试着创建多个文档,每行一个,将meteda数据存储为索引的一部分。当查询开始产生不可接受的结果时,这并不起作用。例如,如果我查询“This”和“That”,tt将失败,因为“This”和“That”可能存在于文件中,但位于两个不同的Lucen文档中。而span查询是不可能的。所以你是对的:像平常一样使用e文档,然后找出元数据/行号是正确的方法。你有没有研究过Lucene中的有效负载?它们允许您在每个术语中存储附加信息。