2014-01-04 3 views
0

Я тестер, и у меня есть ОГРОМНЫЕ документы Solr.Java: Получите уникальные значения в большом 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"], 

У меня есть Java-код с помощью org.json, чтобы поместить его в JSON объект

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()); 

К примеру есть 10000 Solr докторов с этим полем lr_listing_status.

Я хочу знать, видеть все уников, например «Pending продолжать показывать» «В ожидании» «Ожидание с Непредвиденные»

Может быть, есть лучший способ? Может, Солри?

ответ

0

имеют copyField, чтобы скопировать lr_listing_status в lr_listing_status_facet и использовать KeywordAnalyzer в этом поле (ну, добавьте все, что нужно добавить, чтобы позаботиться о нормализации и т. Д., Если это необходимо сделать тоже).

Тогда вы можете получить то, что вы хотите, добавив фаску на lr_listing_status_facet, добавив это к вашему запросу: & фаска = истинный & facet.field = lr_listing_status_facet

Посмотрите на faceting для всех функций, которые она предоставляет.

Смежные вопросы