Java 搜索两个字段匹配的记录

Java 搜索两个字段匹配的记录,java,lucene,Java,Lucene,我有一个包含这些字段(post.id、topic.id、contents)的索引 我想搜索“post.id=topic.id”的记录 我试过了 +(post.id:topic.id) 但是我没有运气 我对Lucene还很陌生 我生成的查询如下所示 +(forum.id:9) +(contents:test*) +(post.id:topic.id) 我认为它应该获取任何在内容中包含test*的记录,其中post.id与topic.id相同,但它没有按照我的预期工作 我可能完全弄错了 我做

我有一个包含这些字段(post.id、topic.id、contents)的索引

我想搜索“post.id=topic.id”的记录

我试过了

+(post.id:topic.id)
但是我没有运气

我对Lucene还很陌生

我生成的查询如下所示

+(forum.id:9)  +(contents:test*)  +(post.id:topic.id)
我认为它应该获取任何在内容中包含test*的记录,其中post.id与topic.id相同,但它没有按照我的预期工作

我可能完全弄错了


我做错了什么

我不知道有什么方法可以直接做到这一点。但是一个解决方法是使用Lucene连接特性(索引连接或查询时间连接)。请看一看,知道如何使用它

在Solr中,你可以做这样的事情

http://127.0.0.1:8983/solr/collection1/select/?q={!join from=post.id to=topic.id} content:test