Lucene中的String Parser

时间:2015-07-13 05:22:16

标签: java parsing lucene

我是Lucene Search的新手,

我以像

这样的方式合并了DrillDownQuery和Boolean Query
BooleanQuery inner=new BooleanQuery();
inner.add(NumericRangeQuery.newIntRange("year",null,null, false, false));

DrillDownQuery q = new DrillDownQuery(config);
q.add("book","lucene in action","lissa" );
inner.add(q,Occur.MUST)


DrillDownQuery q1 = new DrillDownQuery(config);
q1.add("book","java programming","hills publications" );
inner.add(q1,Occur.MUST)

我只想将上面的Query作为字符串存储在数据库中 所以我可以使用它

String str=inner.toString();

str变量包含这种类型的值

 ++ConstantScore($facets:booklucene in actionlissa)^0.0 ++ConstantScore($facets:bookjava programminghills publications)^0.0 +year:{* TO *}

就像将来任何用户点击链接一样,我只想从数据库中获取此字符串查询并获取解析到Lucene Query

为此目的,我使用了大量的解析器但是无法解析这种类型的查询。我正在使用的一些解析器在这里

QueryParser qs=new QueryParser(null,new WhitespaceAnalyzer());
   Query q= qs.parse(str)

我也使用ComplexPhraseQueryParser,SimpleParser但是我还没有得到正确的结果

任何形式的帮助都会非常感激

0 个答案:

没有答案