作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个现有的 Lucene 存储,其中包含数百万个文档,每个文档都代表一个实体的元数据。我有几个 Id 字段(Id1、Id2 .. Id5),每个文档可以有零个或多个此字段的值。该索引一次仅由这些 Id 之一查询。我已经独立地为这些字段编制了索引,并且一切正常。我最初选择使用 Lucene,因为它是迄今为止查询如此大量小文档的最快方式,我对我的决定感到满意。
但是现在我必须存储另一种类型的文档,它也代表实体的不同类型的元数据,并具有 (Id1, Id2 .. Id5) 的值,并且也将分别由其中一个 Id 查询。现有元数据和这组新数据将相互独立地存储和查询。
如何通过 Id 查询 Lucene 但仅查询一种类型的文档。我可以想到一些选择,但我想知道那些知情人士从经验中推荐什么,以保持 Lucene 的可管理性和快速性。
最佳答案
我肯定会拒绝第三种选择,因为 type
的选择性低指数。 type
中只有 2 个不同的值每个字段都有数百万个文档。 Lucene 需要将这个巨大的发帖列表与来自 idN
的短发帖列表合并。索引,这仍然可以非常快,但确实很浪费。
前两种方式在查询阶段实际上是相同的,因为对于独立类型的文档,您有不同的术语和发布列表。不同之处在于索引阶段。管理多个独立的索引需要更多的协调,并且会使代码变得更加困难。然而,如果您计划在不同的上下文中使用索引,这可能是一个好主意。例如:
关于lucene - 如何在 Lucene 中存储多种不同类型的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32783552/
我是一名优秀的程序员,十分优秀!