我使用Lucene,和我试图找到一种方式来索引和检索具有远程属性的文件。

例如我有:

Document 1: Price:[30 TO 50]
Document 2: Price:[45 TO 60]
Document 3: Price:[60 TO 70]

我想搜索其区域相交的特定的所有文档间隔下,在上述例子中,如果我搜索Price in [55 TO 65]我应该得到Document 2Document 3作为结果。

我不认为NumericRangeQueries单单会做的伎俩,我需要工作与类似的R-tree东西指数,但它们在Lucene的实施?另外,我想,我需要的应该是MultiTermQuery的子类,因为查询Price in [55 TO 65]有两个界限,但我没有看到合适的MultiTermQuery的子类中任何东西。

任何帮助表示赞赏, 感谢,

西尔维奥

P.S。我使用Lucene 2.9.0,但如果需要,我可以更新到最新版本。

有帮助吗?

解决方案

一个简单的选项来尝试是,在索引时间,简单地扩展到范围在范围内的每个离散值。所以[30〜50]将被索引为30,31,32,33,34等。然后使用正常的范围的查询来查询的范围内。正如只要有不万吨,这可能执行不够好,离散值(百万)的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top