Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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
Java 如何使用RESTHightLevelCient使用多个字符串执行搜索_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Resthighlevelclient - Fatal编程技术网 elasticsearch,resthighlevelclient,Java,elasticsearch,Resthighlevelclient" /> elasticsearch,resthighlevelclient,Java,elasticsearch,Resthighlevelclient" />

Java 如何使用RESTHightLevelCient使用多个字符串执行搜索

Java 如何使用RESTHightLevelCient使用多个字符串执行搜索,java,elasticsearch,resthighlevelclient,Java,elasticsearch,Resthighlevelclient,我有一个包含多个字符串的字段,如何使用RESTHightLevelCient为其编写搜索查询。另外,我给出的搜索字符串只是一个部分字符串 再加一点细节 我正在尝试实现一些东西,其中我有多个列,但只有一个搜索字符串。我的搜索字符串可以是不同列的组合;另外,当字符串只是来自不同列的部分单词的组合时,我的搜索应该可以工作 我正在尝试一种解决方案,通过使用一个单独的列,它是所有其他可搜索列按其在搜索中出现的顺序以空格分隔的连接 所以如果我有4列,书名,作者,价格,出版,当我给部分作者的部分书名。我希望

我有一个包含多个字符串的字段,如何使用RESTHightLevelCient为其编写搜索查询。另外,我给出的搜索字符串只是一个部分字符串


再加一点细节

我正在尝试实现一些东西,其中我有多个列,但只有一个搜索字符串。我的搜索字符串可以是不同列的组合;另外,当字符串只是来自不同列的部分单词的组合时,我的搜索应该可以工作

我正在尝试一种解决方案,通过使用一个单独的列,它是所有其他可搜索列按其在搜索中出现的顺序以空格分隔的连接


所以如果我有4列,书名,作者,价格,出版,当我给部分作者的部分书名。我希望按照最相关的匹配项位于顶部的顺序返回匹配项。

可能是,您可以这样执行regexp搜索:(让字段名为“quotes”):

这将返回包含表达式“err is to hum”的所有引号,例如,匹配条目可以是“to err is to human”

*\uuuuu.*
用于包含搜索(将搜索表达式置于破折号位置)

*\uuuuuu
以结尾

。*
以开头

不包含


希望这有帮助。

如果搜索字符串为“er-hum”,该怎么办。另外,最好的方法是使用“*”吗?为什么不使用简单的匹配查询?我遗漏了什么吗?你能给我举个例子吗?
BoolQueryBuilder searchFilter = QueryBuilders.boolQuery();
searchFilter.must(QueryBuilders.regexpQuery("quotes",".*err is to hum.*").flags(RegexpFlag.ALL));