2017-01-08 148 views
0

有從日誌中可用的solr查詢字符串,目的是分析查詢以找出數字fqs,術語等。有沒有可用的solr/lucene解析整個查詢字符串,並獲取使用的術語,使用的過濾器,使用的語言,使用的字段等。查看lucene提供的QueryParser,但似乎沒有幫助。如何從solr查詢字符串中獲取查詢對象

例簡單的查詢字符串:

q=*:*&facet.field=Language&facet=true&f.Language.facet.limit=101&rows=0&sort=score desc,DefaultRelevance desc&fl=xxNonexx&bmf=50&wt=xml 
+1

不是在SOLRJ中,我知道你需要使用API​​自己構建查詢: –

回答

0

我想你沒有真正尋找一個分析器,但換一種方式來調試查詢。幸運的是,Solr有一個調試參數,您可以將其用於解釋here的目的。例如,您可以添加到您的查詢:

q=*:*&facet.field=Language&facet=true&f.Language.facet.limit=101&rows=0&sort=score desc,DefaultRelevance desc&fl=xxNonexx&bmf=50&debug=true&wt=xml 
+0

這些是生產日誌中的問題,我們想分析它們。 – Raj

0

您可以使用SolrRequestParsers.parseQueryString()方法將字符串轉換爲Solr參數。 Here's a link to documentation for it. 下面是一個例子。

String queryString = "q=*:*&facet.field=Language&facet=true&f.Language.facet.limit=101&rows=0&sort=score desc,DefaultRelevance desc&fl=xxNonexx&bmf=50&wt=xml"; 
MultiMapSolrParams solrParams = SolrRequestParsers.parseQueryString(String); 

該代碼駐留在solr-core庫中,因此您可能需要添加它。