什么是用于搜索的 Retrofit OR 运算符

我基本上想搜索带有 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 的所有城市。


但是|| 似乎不起作用,所以我要求正确的改造或操作员,或者可以帮助我实现目标的东西。


一只斗牛犬
浏览 126回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java