我基本上想搜索带有 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
提交
取消