【发布时间】:2015-01-18 17:06:33
【问题描述】:
我目前正在使用 MultiFieldQueryParser 创建和搜索。我有大约 20 个不同的字段,所有不同的数据类型,我希望搜索考虑到所有这些字段。这是我构建解析器并获取查询对象的地方:
MultiFieldQueryParser mfqp = new MultiFieldQueryParser(
keyHashSet.toArray(new String[] {}), analyzer);
mfqp.setAllowLeadingWildcard(true);
Query q = mfqp.parse(search);
System.out.println(q.getClass());
keyHashSet 包含我所有的数据键。
每当我传入范围查询时,例如:
Heading:[0 to 360]
从打印输出返回的类是
class org.apache.lucene.search.TermRangeQuery
即使我这样设置标题字段:
doc.add(new FloatField("Heading", value, Field.Store.YES));
有没有办法使用MultiFieldQueryParser 执行NumericRangeQuery?
【问题讨论】:
-
您找到解决方案了吗?
标签: java lucene information-retrieval