Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有使用elasticsearch java api使用multiprefix的方法?_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Query Builder - Fatal编程技术网 elasticsearch,query-builder,Java,elasticsearch,Query Builder" /> elasticsearch,query-builder,Java,elasticsearch,Query Builder" />

有没有使用elasticsearch java api使用multiprefix的方法?

有没有使用elasticsearch java api使用multiprefix的方法?,java,elasticsearch,query-builder,Java,elasticsearch,Query Builder,使用QueryBuilders.prefixQuery我正在尝试获取以“L”或“J”开头的书名列表,有什么方法可以做到这一点吗? 我知道QueryBuilders.prefixQuery只能接受像boolQueryBuilder.must这样的字符串(QueryBuilders.prefixQuery(“bookstitle”,“L”)还有其他简单的方法吗?您可以使用布尔子句should并结合两个前缀查询,一个用于L,另一个用于J,这将提供您预期的搜索结果,表示从L或J开始的书籍 在java代码

使用QueryBuilders.prefixQuery我正在尝试获取以“L”“J”开头的书名列表,有什么方法可以做到这一点吗?
我知道QueryBuilders.prefixQuery只能接受像boolQueryBuilder.must这样的字符串(QueryBuilders.prefixQuery(“bookstitle”,“L”)还有其他简单的方法吗?

您可以使用布尔子句
should
并结合两个前缀查询,一个用于
L
,另一个用于
J
,这将提供您预期的搜索结果,表示从
L
J
开始的书籍

在java代码中,它将如下所示:

        BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
        PrefixQueryBuilder lPrefixQueryBuilder = new PrefixQueryBuilder("title","L");
        PrefixQueryBuilder jPrefixQueryBuilder = new PrefixQueryBuilder("title","J");
        boolQueryBuilder.should(lPrefixQueryBuilder);
        boolQueryBuilder.should(jPrefixQueryBuilder);

有没有一种最简单的方法可以让它变得动态,而不管PrefixQueryBuilder的数量是多少?@MohamedNAOUALI是的,你可以简单地循环你的前缀子句:)@MohamedNAOUALI谢谢你接受这个答案,如果你也能投票,那就太好了:)TIA