是否有SolrJ查询构建器?

时间:2017-02-22 13:08:32

标签: solr solrj solrcloud solr5 solr-query-syntax

使用solr 5.2.0想知道是否存在类似于Elasticsearch查询构建器API的查询构建器API / Jar / Ckient,或者我们是否必须在Solr中使用String Kungfu来构建查询?

3 个答案:

答案 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"));