例如,我有一些字段描述的文档:id
,date
和price
。
第一份文件:id=1
,date='from 10.01.2014 to 20.01.2014'
,price='120'
第二个文件:id=2
,date='19.01.2014'
和price='from 100 to 140'
我的程序接收键/值参数,应找到最合适的文档。因此,例如,使用此参数date=19.01.2014
和price='120'
程序应找到这两个文档。使用date=20.01.2014
,price=120'
只有第一个文档。使用date='19.01.2014
,price=140'
只有第二个。
我如何用Java中的Lucene做到这一点?我看到了一些示例,其中我正在键入查询,例如'给我文档,其中日期是从...到...',Lucene给了我这个范围内的文档。而不是我想要为我的文档指定范围而不是查询。
答案 0 :(得分:1)
您可以为日期和价格索引开盘和收盘价格,例如
您的文档#1将被编入索引:
id = 1
dateFrom = 10.01.2014
dateTo = 20.01.2014
priceFrom = 120
priceTo = 9999999999
将文件#2作为
id=2
dateFrom = 19.01.2014
dateTo = 01.01.2099
priceFrom = 100
priceTo = 140
查询如下所示:
+dateFrom:[19.01.2014 TO *] +priceFrom:[120 TO *] +priceTo:[* TO 140]
这不是很有效,但应该有效。