Lucene按顺序查询

时间:2011-06-10 12:00:41

标签: java lucene

我在java索引中创建了lucene并且能够进行搜索。现在我希望我的查询以维持顺序的方式。比如我在索引中跟随

1 2 3 4 5
1 2 3 4 1
1 2 4 3 1
1 3 2 4 1

我的查询是1 3 4然后它应该给出结果:

1 2 3 4 5
1 2 3 4 1
1 3 2 4 1
1 2 4 3 1

希望问题很清楚。

谢谢, 拉维。

2 个答案:

答案 0 :(得分:1)

您可以使用span query查找附近且按特定顺序排列的字词。订购条件可以放宽。可以找到关于跨度的优秀文章here

答案 1 :(得分:0)

您可以使用BooleanQuery并确保调用setAllowDocsOutOfOrder(true)。如果索引按docid排序,则应限制文档无序。

修改 您还可以使用Sort类按索引或相关性排序搜索。这看起来更有用,因为您可以在搜索中使用任何查询类型。