Lucene支持在多个索引文档之间搜索吗?

Lucene支持在多个索引文档之间搜索吗?,lucene,hibernate-search,Lucene,Hibernate Search,在数据库中: 我有两张桌子。每个表中有三列。 表A(列A、列A1、列A2) 表B(列B、列B1、列B2) 下面是我想使用Lucene执行的SQL: 从表A、表B中选择*,其中列A=列B和列A1=XX和列B1=XX 我想创建两个索引文档(index\u Table\u A,index\u Table\u A)和如何使用Lucene或Hibernate搜索机制实现上述内容? 任何帮助都将是感激的 我不知道为什么需要索引,或者为什么首先要使用lucene,但我可以告诉您如何使用一个索引来实现它。(使用

在数据库中:

我有两张桌子。每个表中有三列。 表A(列A、列A1、列A2) 表B(列B、列B1、列B2)

下面是我想使用Lucene执行的SQL: 表A、表B中选择*,其中列A=列B列A1=XX列B1=XX

我想创建两个索引文档(index\u Table\u Aindex\u Table\u A)和如何使用Lucene或Hibernate搜索机制实现上述内容?


任何帮助都将是感激的

我不知道为什么需要索引,或者为什么首先要使用lucene,但我可以告诉您如何使用一个索引来实现它。(使用两个索引是可能的,但性能明显降低)

使用一个索引,对任何文档进行索引,如下所示:

title = column_primaryKey_A
column_A1 = val...
column_A2 = val2...
column_B1 = val3...
column_B2 = val4...
搜索时,您希望对字段查询使用共轭查询,如下所示

query = (column_A1:XX) AND (column_B1:XX)
您可以找到有关lucene查询语法的更多信息

编辑:由两个搜索组成的另一个选项可能性能较差: 您可以在第一列上进行第一次搜索,收集所有相应的标题(id),然后将它们添加到第二个查询(在第二列上):


其中Id是从第一次搜索中收集的结果。

所有字段都索引到一个文档中,这是您的意思吗?但是我想把这些字段索引成两个文档,而不是一个文档。并根据两个文档的条件进行查询。就像:从表A、表B中选择*,其中列A=column、列A1=XX、列B1=XXNo,您应该为每列单独的字段编制索引。这样你会得到同样的结果(就我理解你的问题而言)。据我所知,无法使用单独文档的依赖项进行搜索,您可以执行两个依赖项搜索(我将编辑我的答案)。
Query: (Column_B1:XX) AND ( id1 OR id2 OR ...)