繁体   English   中英

在Lucene中索引数据库记录

[英]Indexing database records in lucene

我希望在Lucene中跨我们的应用程序的几个数据库建立索引。 如何建立索引? 每个表的索引,以使列为字段,数据为值? 或每个数据库的索引,具有lucene的diff字段的变量表列? 如果没有,那么如何构造索引,以使搜索和维护不会变得复杂? 假设每个数据库100个表,每个表1万行。

它完全取决于基础数据以及查询方式,如果不知道这一点,就不可能提供确定的答案。

如果您的数据库模式已规范化,则我想对其进行某种程度的非规范化以创建一条记录,该记录由每个文档中来自多个表的表数据组成。

确定分配给文档的字段的另一个因素是查询数据的方式。

例如,给定以下标准化的架构:

TABLE:AUTHOR        COLS:AUTHOR_ID,NAME
TABLE:BOOKS         COLS:BOOK_ID,TITLE,CONTENT
TABLE:AUTHOR_BOOKS  COLS:AUTHOR_ID,BOOK_ID

您可以为每位作者/每本书索引一个文档:

Document (field1:author, field2:title, field3:content)

这样您就可以按作者,书名或内容搜索书籍匹配项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM