2015-06-03 222 views
0

這裏我試圖做一個Java應用程序,並在應用程序中使用elasticsearch作爲第一階段,我用Spring製作了一個簡單的動態Web Java應用程序。在這個應用程序(簡單員工記錄應用程序)中,我有一個特權登錄(Admin &用戶)。Java - 彈性搜索

  • 聯繫 - 他擁有所有權限
  • 用戶 - 閱讀並單獨編輯權限

我試圖利用彈性搜索這個應用

希望你能幫幫我在應用程序中使用elasticsearch以便我能更好地理解彈性搜索。

+0

請更具體一點的問題。 – gvmani

回答

0

Elasticsearch通過應用查詢和過濾器提供了足夠數量的java api來獲取搜索結果。

檢查此鏈接瞭解詳情:

https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/client.html

 JSONParser parser = new JSONParser(); 
     JSONObject jsonObject = null; 

     Settings s = ImmutableSettings.settingsBuilder() 
       .put("cluster.name", SEARCH_CLUSTER_NAME).build(); 
     SEARCH_CLIENT = new TransportClient(s) 
       .addTransportAddress(new InetSocketTransportAddress(
         SEARCH_HOST, Integer.parseInt(SEARCH_PORT))); 

     SearchResponse searchResponse = SEARCH_CLIENT 
       .prepareSearch(SEARCH_INDEX_NAME) 
       .setScroll(new TimeValue(600000)) 
       .setTypes(SEARCH_TYPE_NAME) 
       .setSearchType(SearchType.SCAN) 
       .setQuery(QueryBuilders.matchAllQuery()) 
       .execute() 
       .actionGet(); 

     while (true) { 
      searchResponse = SEARCH_CLIENT 
        .prepareSearchScroll(searchResponse.getScrollId()) 
        .setScroll(new TimeValue(600000)).execute().actionGet(); 
      for (SearchHit hit : searchResponse.getHits()) { 

       jsonObject = (JSONObject) parser.parse(hit 
         .getSourceAsString()); 

      } 
      // Break condition: No hits are returned 
      if (searchResponse.getHits().getHits().length == 0) { 
       break; 
      } 
     } 
+0

謝謝Ansu回覆ma查詢。如果我得到一個例子,對我來說會更有幫助。 –

+0

@VigneshPrasannaRadhakrishnan您是否已經知道elasticsearch查詢和過濾器,或者您是第一次使用它。 – Ansu

+0

沒有安薩,但很久以前我已經使用logstash配置elasticsearch使用API​​從twitter中提取數據。這裏即時嘗試進行搜索操作或更多比在應用程序中,即時通訊有點困惑或即時消息如何使用它。這僅適用於我的POC。 –