Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Lucene中通过数字字段查找文档_Java_Search_Lucene - Fatal编程技术网

Java 在Lucene中通过数字字段查找文档

Java 在Lucene中通过数字字段查找文档,java,search,lucene,Java,Search,Lucene,例如,我有一些按字段描述的文档:id、date和price 第一份文件:id=1,date='2014年1月10日至2014年1月20日',price='120' 第二份文件:id=2,date='19.01.2014'和price='从100到140' 我的程序接收键/值参数,并应找到最合适的文档。因此,例如,使用此参数date=19.01.2014和price='120'程序应该可以找到这两个文档。由于日期=2014年1月20日,价格=120'仅为第一份文件。对于日期为2014年1月19日的

例如,我有一些按字段描述的文档:
id
date
price

第一份文件:
id=1
date='2014年1月10日至2014年1月20日'
price='120'

第二份文件:
id=2
date='19.01.2014'
price='从100到140'

我的程序接收键/值参数,并应找到最合适的文档。因此,例如,使用此参数
date=19.01.2014
price='120'
程序应该可以找到这两个文档。由于
日期=2014年1月20日
价格=120'
仅为第一份文件。对于日期为2014年1月19日的
price=140'
只有第二个


在Java中如何使用Lucene?我看到了一些例子,其中我输入了类似“给我日期是从哪里来的文档”这样的查询。。到..',Lucene给了我这个范围内的文档。与此相反,我希望为我的文档指定范围,而不是为查询指定范围。

您可以为日期和价格的开盘和收盘范围编制索引,例如

您的文档#1将被索引为:

id = 1
dateFrom = 10.01.2014 
dateTo = 20.01.2014 
priceFrom = 120
priceTo = 9999999999
和文件#2作为

查询如下所示:

+dateFrom:[19.01.2014 TO *] +priceFrom:[120 TO *] +priceTo:[* TO 140]

这不是很有效,但它应该会起作用。

我认为如果找不到其他方法,它可能会起作用。非常感谢。
+dateFrom:[19.01.2014 TO *] +priceFrom:[120 TO *] +priceTo:[* TO 140]