相关疑难解决方法(0)

如何使Lucene中的QueryParser处理数值范围?

new QueryParser(.... ).parse (somequery);
Run Code Online (Sandbox Code Playgroud)

它仅适用于字符串索引字段.假设我有一个名为count的字段,其中count是一个整数字段(同时索引我认为是数据类型的字段)

new QueryParser(....).parse("count:[1 TO 10]");
Run Code Online (Sandbox Code Playgroud)

以上一个不起作用.相反,如果我使用"NumericRangeQuery.newIntRange",它正在工作.但是,我只需要上面的......

java lucene

6
推荐指数
2
解决办法
5044
查看次数

Lucene 3.0.3数字术语查询

我在Lucene 3.0.3中有一个数字字段,它可以很好地处理范围查询.如果我们切换到TermQuery,它不会产生任何结果.例如:

    Document doc = new Document();
    String name = "geolongitude";
    NumericField numericField = new NumericField(name);
    double value = 29.0753505;
    String valueAsString = "29.0753505";
    numericField.setDoubleValue(value);
    doc.add(numericField);
    indexWriter.addDocument(doc);
    indexWriter.commit();
    indexWriter.close();
    IndexSearcher indexSearcher = new IndexSearcher(open);
    Query termQ = new TermQuery(new Term(name, valueAsString));
    TopDocs search = indexSearcher.search(termQ, 10);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我得不到任何结果.我试图找出是否存在任何"NumericTermQuery",但无法找到.我可以做一些棘手的事情(对我正在搜索的术语进行范围查询)但我不喜欢这个解决方案.

谢谢!

java lucene

2
推荐指数
1
解决办法
1599
查看次数

标签 统计

java ×2

lucene ×2