2017-02-22 153 views
2

使用solr 5.2.0時想知道是否有一個類似於Elasticsearch查詢生成器API的查詢生成器API/Jar/Ckient,或者我們是否必須在字符串功能上低音地構建Solr中的查詢?是否有SolrJ查詢生成器?

+0

是http://www.solrtutorial.com/lucene-query-builder.html你在找什麼? –

+0

任何API/SDK/jar – user432024

+0

我想我們可以直接使用lucene查詢構建器類。 – user432024

回答

3

不幸的是,在SolrJ有沒有這樣的事情對於進入q - 參數的查詢生成器。

但是:由於Solr已經在Lucene上運行,我們還可以使用Lucene QueryBuilder。生成的查詢對象(例如PhraseQuery)有一個toString()方法,該方法爲您提供您必須手動組裝的查詢字符串。

+0

似乎喜歡它:) – user432024

1

你可能想use SolrQuery

SolrQuery solrQuery=new SolrQuery(); 
    solrQuery.set("q",query); 
    solrQuery.set("rows",5000); 
    QueryResponse response=solrServers.query(solrQuery); 

更多的例子,請參閱本link

+0

我知道。但查詢仍然需要使用字符串連接構建...我正在尋找一個builder風格的API。看來春天有東西,但不想用春天。目前看來它不存在。 – user432024

0

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")); 
+0

但你仍然必須concat查詢... https://github.com/maxcnunes/solr-query-builder/blob/master/README.md他們exiat爲JavaScript的Java有彈簧標準的Solr,但不使用soring ... – user432024