0

您好我们正在我们的应用程序中寻找一种搜索机制,该机制包含大量包含 CLOB 内容的关系表。我们有要求允许我们的用户搜索这些信息。我们正在调查 Oracle Text,但到目前为止还没有发现任何关于该产品的好消息。

我们正在考虑在某些过程中读取 CLOB,拉取数据并索引这些数据。我们的用户会进行搜索,我们会将索引映射到表中的 rowid 并将结果呈现给我们的用户。

这是 Lucene 处理的好任务还是我没有正确思考?

4

1 回答 1

0

您应该能够将 CLOB 中的文本添加到一个字段,并将行 ID 添加到另一个字段。如果 CLOB 已经存储在您的数据库中,请不要将其再次存储在 Lucene 索引中(Store.NO在添加文本字段时使用)。存储行 ID。当文档匹配时,您可以从结果中提取行 ID 字段并使用它来引用您的表格。

String rowid = ...; // row id from DB
String text = ...; // data from CLOB;
Document doc = new Document();
doc.add(new Field(FIELD_ID, rowid, Store.YES, Index.NOT_ANALYZED));
doc.add(new Field(FIELD_BODY, text, Store.NO, Index.ANALYZED, TermVector.YES));
于 2011-05-07T07:29:08.953 回答