我在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
希望问题很清楚。
谢谢, 拉维。
答案 0 :(得分:1)
您可以使用span query查找附近且按特定顺序排列的字词。订购条件可以放宽。可以找到关于跨度的优秀文章here。
答案 1 :(得分:0)
您可以使用BooleanQuery并确保调用setAllowDocsOutOfOrder(true)
。如果索引按docid排序,则应限制文档无序。
修改强>
您还可以使用Sort
类按索引或相关性排序搜索。这看起来更有用,因为您可以在搜索中使用任何查询类型。