Java 将Lucene 4.6升级到8.0后,面临从不同索引id(存储在不同文件夹中的数据)进行Lucene查询搜索的问题 Lucene从4.6升级到8后,在搜索过程中面临问题 我们正在创建5个不同的文件夹,用于使用不同的索引id进行索引(5个文件夹来自5个不同的表)。在搜索过程中,我们将合并所有这些数据以显示。升级后,我们面临搜索数据方面的问题 当我们对不同索引id的不同字段应用过滤器时,它只搜索一个字段 我在联接查询中看到了不同之处
请向我建议,因为新来的Lucene无法预测Java 将Lucene 4.6升级到8.0后,面临从不同索引id(存储在不同文件夹中的数据)进行Lucene查询搜索的问题 Lucene从4.6升级到8后,在搜索过程中面临问题 我们正在创建5个不同的文件夹,用于使用不同的索引id进行索引(5个文件夹来自5个不同的表)。在搜索过程中,我们将合并所有这些数据以显示。升级后,我们面临搜索数据方面的问题 当我们对不同索引id的不同字段应用过滤器时,它只搜索一个字段 我在联接查询中看到了不同之处,java,lucene,Java,Lucene,请向我建议,因为新来的Lucene无法预测 我在Lucene-join.jar中发现了两个版本之间的JoinUtil.createJoinQuery中的更改 两个版本中的查询格式不同 不同版本的查询格式: Lucene 4.6.0: TermsQuery{field=case.id} fromQuery=+(history.attribute:SExtendedAttribute1) +history.modifiedBy:3ff0000000000000 (different param
Lucene 4.6.0:
TermsQuery{field=case.id}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter) Lucene 8.0.0:
TermsQuery{field=case.idfromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter is also visible.)
JoinUtil.createJoinQuery(fromField, false, toField, Query, srch, ScoreMode.None);
运行Lucene查询后,它应该为不同的字段应用过滤器(数据在不同的文件夹中)。在为我们应用联接查询的唯一列添加此文档值后,此问题得到了解决。新的SortedDocValuesField(字段名,新的BytesRef(值)) 在为我们应用联接查询的唯一列添加此文档值后,此问题得到修复。新的SortedDocValuesField(字段名,新的BytesRef(值)) 实际筛选条件[filter:condition:(&(case.caseType in(Scase))(case.sourceName in(SDEDUPLICATE))(&(history.attribute in(SExtendedAttribute1))(history.modifiedBy eq 3ff0000000000000)))需要根据新的更改更改自定义收集器。实际筛选条件[filter:condition:(&(case.caseType in(Scase))(sdedeplicate中的case.sourceName)(&(SExtendedAttribute1中的history.attribute)(history.modifiedBy eq 3ff0000000000000)))需要根据新的更改更改自定义收集器。
Lucene 4.6.0:
TermsQuery{field=case.id}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter) Lucene 8.0.0:
TermsQuery{field=case.idfromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000}
fromQuery=+(history.attribute:SExtendedAttribute1)
+history.modifiedBy:3ff0000000000000 (different parameter is also visible.)
JoinUtil.createJoinQuery(fromField, false, toField, Query, srch, ScoreMode.None);