Java Lucene查询结果作为另一个Lucene语句的条件

Java Lucene查询结果作为另一个Lucene语句的条件,java,database,lucene,polarion,Java,Database,Lucene,Polarion,我是Lucene的新手,所以请对我宽容点:D 我目前正试图在一个名为Polarion的软件中为数据查询编写Lucene语句。 我想知道,是否有可能使用Lucene结果作为下一个Lucene语句的条件 我的例子是: {workitems: type:test AND linkedWorkItems: (**Result of the first Statment**)} 第一条语句:{workitems:type:bia和level:lvl_3} 如果我手动输入结果ID,例如: {workite

我是Lucene的新手,所以请对我宽容点:D

我目前正试图在一个名为Polarion的软件中为数据查询编写Lucene语句。 我想知道,是否有可能使用Lucene结果作为下一个Lucene语句的条件

我的例子是:

{workitems: type:test AND linkedWorkItems: (**Result of the first Statment**)}
第一条语句:
{workitems:type:bia和level:lvl_3}

如果我手动输入结果ID,例如:

{workitems: type:test AND linkedWorkItems: (ABC-1234)}
一切如愿

我的目标是在一个声明中包含所有内容。 谢谢你的帮助

谢谢你,简

类似于-

BooleanBuilder booleanBuilder = new BooleanBuilder();
booleanBuilder.add(first_statement_query, AND);
booleanBuilder.add(second_statement_query, AND);

这相当于:+(+类型:bia+级别:lvl_3)+(类型:测试)

只是想知道为什么要分两个步骤来完成?您可以将这两个步骤组合为AND查询,这样做应该是相同的。在您的例子中,查询将是{workitems:type:test和(workitems:type:bia和level:lvl_3)}。如果一个电话就可以完成,你不需要去Lucene两次。嗨,德古拉,谢谢你的评论!问题是我在查询中使用“workitems”关键字时出错。。{workitems:type:test AND(workitems:type:bia AND level:lvl_3)}我无法使用“内部”工作项结果的结果:/Error:“com.polarion.subterra.index.QueryIndexException”当保留第二个“workitems”时没有错误,但也没有结果。嘿,Jan,这里的type是一个多值字段吗?“类型”是否可以有值-测试和bia?是的,这是可能的!为此,我正在搜索“测试”类型的结果。这些结果与“bia”类型的记录相关联。我想把这个问题合并成一个大问题。所以bia查询的结果可以直接用于“test”查询。好的,这个查询应该适合您-{type:test和{type:bia和level:lvl_3}。要生成此查询,请不要对lucene运行第一个语句查询。使用BooleanBuilder将其与第二个语句查询相结合。