/**
* <p>Create an Elasticsearch query for the given search string but does
* not apply the {@link ElasticsearchQueryOptimizer} to it.</p>
* @param search the search string
* @return the Elasticsearch query (may be null)
*/
protected JsonObject compileQueryNoOptimize(String search) {
if (search == null || search.isEmpty()) {
// match everything by default
return matchAllQuery();
}
// parse query
QueryLexer lexer = new QueryLexer(new ANTLRInputStream(search.trim()));
CommonTokenStream tokens = new CommonTokenStream(lexer);
QueryParser parser = new QueryParser(tokens);
QueryContext ctx = parser.query();
// compile query to QueryBuilder
QueryCompilerListener listener = new QueryCompilerListener();
ParseTreeWalker.DEFAULT.walk(listener, ctx);
if (listener.result.isEmpty()) {
return matchAllQuery();
}
return listener.result.pop();
}
DefaultQueryCompiler.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:georocket
作者:
评论列表
文章目录