簡體   English   中英

Java:在大型Solr響應中獲取唯一值

[英]Java: Get unique values in large solr response

我是一名測試人員,並且擁有龐大的Solr文檔。

我可以查看XML或JSon,但我選擇了JSON

我試圖了解給定字段中有多少個唯一的字符串。

 {    "responseHeader": {
    "status": 0,
    "QTime": 0,
    "params": {
        "wt": "json",
        "q": "lr_listing_status_search:pending"
    }
},
"response": {
    "numFound": 21410,
    "start": 0,
    "docs": [
        {
            "m_document_id_exact": "1428937575-565899144",
            "lr_master_listing_id": 565899144,
            "lr_baths": 2,
            "lr_beds": 2,
            "lr_whole_baths": 2,
            "lr_listing_status": ["Pending Continue To Show"],

我有使用org.json將其放入JSON對象的Java代碼

  public static void main(String[] args) throws IOException, JSONException {
        JSONObject response = readJsonFromUrl("http://sdsitgn.solr-aprop1.admin.inf:8086/solr/core0/select/?q=lr_listing_status_search:pending&wt=json");
        System.out.println(response.toString());

例如,有10,000個具有此lr_listing_status字段的Solr文檔。

我想知道所有的唯一性,例如“待處理的繼續顯示”,“待處理的”,“待處理的緊急情況”

也許有更好的方法? Solrj也許?

有一個copyField可以將lr_listing_status復制到lr_listing_status_facet,並在該字段中使用KeywordAnalyzer(好吧,添加需要添加的內容以進行大小寫規范化等,如果需要的話)。

然后,您可以通過在lr_listing_status_facet上添加一個構面,並將其添加到請求中來獲得所需的內容:&facet = true&facet.field = lr_listing_status_facet

看看小面的所有功能提供。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM