1

我有两个 lucene 索引。假设第一个索引内容字段中的文档如下:

 name:....., filename: ......, fullpath: ........, etc.

和第二个索引内容字段,如:

 name: ....., deviceip: ......, etc.

现在我需要做的是:使用一些查询搜索第一个索引,然后根据公共字段(例如,在这种情况下为“名称”)将结果与第二个索引中的文档连接起来。连接的结果应该使得结果也包含来自第二个索引的字段。

结果:

name: ....., filename: ...., fullpath: ......., deviceip: ....., etc.

是否可以使用 Lucene 实现?

4

1 回答 1

0

使用 BlockJoinQuery 可能会解决您的问题。你可以参考这篇博文 http://blog.mikemccandless.com/2012/01/searching-relational-content-with.html

您最终将创建一个包含 count(TableA) + count(TableB) 文档(而不是 Count(TableA) x Count(TableB) )的索引,并使用 BlockJoinQuery 进行搜索。

于 2018-04-12T20:02:26.820 回答