【问题标题】:Indexing Multiple Tables in Lucene在 Lucene 中索引多个表
【发布时间】:2010-09-20 22:11:47
【问题描述】:

我想使用 lucene.net 来索引我们数据库中的记录。记录存储在几个不同的表中,并通过记录表连接在一起。分别索引每个表并在代码中将搜索结果捆绑在一起会更好,还是应该将数据库中的记录捆绑在一起并将它们全部放在一个索引中?

任何其他建议也会有所帮助。

【问题讨论】:

    标签: c# database search lucene lucene.net


    【解决方案1】:

    如果您创建一个对应于每个表的 Lucene 索引,那么 1) 您将不得不针对每个索引执行搜索,以及 2) 以某种神奇的方式合并搜索结果。 Lucene 已经设置为搜索具有多个字段的文档(请参阅 MultiFieldQueryParser),并为您提供统一的结果集。

    即使您在创建索引后决定偶尔只想根据来自单个表的数据进行搜索,您也可以使用普通的 QueryParser 仅搜索文档的相应字段。

    【讨论】:

      【解决方案2】:

      Lucene 不依赖于数据库表,您可以在 Lucene 文档中选择所需的信息。我可能会更好让 Lucene 处理结果的合并和排名,而不是自己做。

      【讨论】:

      • 我意识到它与表格无关。我想知道是否应该让表格保持原样并搜索它们,或者按照我想要的方式将它们拉出来并以这种方式搜索。
      • 无论表中的数据结构如何,您都应该以对您有意义的方式创建 Lucene 文档。您要搜索的所有数据都应该在其中。他们使用一个索引。合并多个结果的痛苦是不值得的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多