我基本上想搜索帶有 2 個過濾器/標簽的查詢(例如 2 個國家/地區的 1 個城市 - 美國或加拿大)ElasticSearchAPI.java 公共接口 ElasticSearchAPI { @GET("_search/") 呼叫搜索( @HeaderMap 地圖標題, @Query("default_operator") 字符串運算符, @Query("q") 字符串查詢 ); }Search.java 的一部分 改造改造 = new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()) 。建造(); ElasticSearchAPI searchAPI = retrofit.create(ElasticSearchAPI.class); HashMap headerMap = new HashMap(); headerMap.put("Authorization", Credentials.basic("user", mElasticSearchPassword)); String searchString = ""; if(!mSearchText.equals("")){ searchString = searchString + mSearchText.getText().toString() + "*"; } if(!mPrefCountry.equals("")){ searchString = searchString + " country:" + mPrefCountry; } 調用 call = searchAPI.search(headerMap, "AND", searchString); call.enqueue(新回調(){ @覆蓋 公共無效onResponse(呼叫呼叫,響應響應){ HitsList hitsList = new HitsList(); 字符串 jsonResponse = ""; 嘗試{ Log.d(TAG, "onResponse: 服務器響應:" + response.toString()); 返回假; }例如,代碼呈現 ff 查詢,該查詢顯示美國國家/地區內名稱中帶有NEW的可用城市:_search?default_operator=AND&q=new*+country:Us但我試圖實現的是這樣的:_search?default_operator=AND&q=new*+country:Us||加拿大這應該導致在US OR CANADA中顯示名稱中帶有NEW 的所有城市。但是|| 似乎不起作用,所以我要求正確的改造或操作員,或者可以幫助我實現目標的東西。
添加回答
舉報
0/150
提交
取消