Java ES是一個基于Lucene的搜索引擎,允許使用各種語言使用JSON輸入進行搜索。下面是使用Java ES的JSON搜索的示例:
//創建一個JSON字符串 String json = "{\"query\": {\"match\": {\"title\": \"hello world\"}}}"; //將JSON字符串轉換成Map對象 MapjsonMap = new HashMap<>(); jsonMap.put("query", new HashMap () {{ put("match", new HashMap () {{ put("title", "hello world"); }}); }}); //創建搜索請求 SearchRequest searchRequest = new SearchRequest("index"); searchRequest.source(json, XContentType.JSON); //使用Map對象創建搜索請求 SearchRequest searchRequest = new SearchRequest("index"); searchRequest.source(jsonMap); //發送搜索請求 SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT); //獲取搜索結果 SearchHits hits = searchResponse.getHits();
上面的代碼示例中,我們首先創建一個JSON字符串,然后將其轉換為Map對象。接著,我們使用這個Map對象或者JSON字符串創建一個搜索請求。最后,將這個搜索請求發送到ES服務器并獲取結果。
JSON搜索是一種強大的搜索方式,它允許我們使用JSON來定義復雜的查詢。在使用Java ES進行搜索時,我們可以使用JSON字符串或者Map對象來創建搜索請求,這使得代碼編寫更加靈活,也更加易于閱讀和維護。