我目前的项目涉及搜索高度自定义的Solr指数。事实证明,查询它们的最佳方法是使用Lucene API。 在Solr中,我可以使用:
访问底层的Lucene索引public void process(ResponseBuilder responseBuilder) throws IOException {
SolrIndexSearcher sir = responseBuilder.req.getSearcher();
BooleanQuery bq = new BooleanQuery();
Query tq = new TermQuery(new Term("content", "test"));
bq.add(tq, BooleanClause.Occur.MUST);
TopDocs td = sir.search(bq, 20);
}
现在,ElasticSearch似乎隐藏了Lucene的功能。有没有办法在ES查询处理程序级别公开Lucene索引,或者使用ES API以类似于上面的示例(即直接查询索引字段)的方式查询它?