使用solr 5.2.0想知道是否存在类似于Elasticsearch查询构建器API的查询构建器API / Jar / Ckient,或者我们是否必须在Solr中使用String Kungfu来构建查询?
答案 0 :(得分:6)
不幸的是,在SolrJ中,对q
- 参数的查询没有构建器这样的东西。
但是:由于Solr已经在Lucene上运行,我们也可以使用Lucene QueryBuilder。生成的查询对象(例如PhraseQuery)具有toString()
方法,该方法为您提供否则必须手动汇编的查询字符串。
答案 1 :(得分:0)
您可能需要use SolrQuery
SolrQuery solrQuery=new SolrQuery();
solrQuery.set("q",query);
solrQuery.set("rows",5000);
QueryResponse response=solrServers.query(solrQuery);
有关更多示例,请参阅此link
答案 2 :(得分:-1)
SolrQuery
是隐藏字符串连接复杂性的类,它有很多方法可以帮助构建查询。此示例显示为使用流畅的界面。
CloudSolrClient client = new CloudSolrClient.Builder()
.withZkHost("zookeeper-host:2181")
.build();
QueryResponse resp = client.query(new SolrQuery()
.setRows(10)
.setQuery(query)
.setFields("title", "manufacturer", "price"));