elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Java 像谷歌这样的弹性搜索

Java 像谷歌这样的弹性搜索,java,elasticsearch,Java,elasticsearch,我正在尝试使用java在多个字段中执行类似google在elasticsearch中所做的搜索。我正在尝试的一个非常简单的want示例: 索引中的文档包含短语:“Toshiba I will buy”、“Toshiba I don't want buy”和“Toshiba rock my world”,搜索“Toshiba buy”将返回所有3个短语 如何在Java中执行此操作 谢谢尝试使用String类的split()方法,并在数据库中对每个单词分别进行搜索。 比如说- String inpu

我正在尝试使用java在多个字段中执行类似google在elasticsearch中所做的搜索。我正在尝试的一个非常简单的want示例: 索引中的文档包含短语:“Toshiba I will buy”、“Toshiba I don't want buy”和“Toshiba rock my world”,搜索“Toshiba buy”将返回所有3个短语

如何在Java中执行此操作

谢谢

尝试使用String类的split()方法,并在数据库中对每个单词分别进行搜索。 比如说-

String input = "Toshiba buy"; 
String words[] = input.split(" "); 
// this will split at every <space>. You could also use another de-limiter for exactly where you would like to split the sentence

for(int i=0;i<words.length;i++)
{
    //search in your database using words[i]
} 
String input=“东芝购买”;
字符串字[]=input.split(“”);
//这将在每一个时间分开。您还可以使用另一个反限制符来精确划分句子的位置

对于(inti=0;我考虑过这个解决方案,但问题是当我在查询的中间有确切的短语(“prhase”)时:例如(结果与前面的示例无关)关于我的另一件事是查询可以使用的通配符。我不理解在查询中间的确切短语是什么意思。关于通配符,如果用户输入与数据库使用相同的通配符,那么它不应该造成问题。例如,如果你想在谷歌中搜索HP PROBook,如果你放在引号之间。google将搜索prhase而不是每个单词…(更具体的例子:带有“hp笔记本电脑probook”和“hp probook笔记本电脑”的文档,搜索prhase(在引号之间)“hp probook”将给出最后一个文档)考虑一下-String input=jTextField1.getText();boolean check=input.matches(“.\*”);if(check==true){int start=input.indexOf(“”)+1;int end=input.indexOf(“”,start+1);String phrase=input.substring(start,end);//处理字符串短语,即引号中的部分}else{//处理用户未输入引号的情况}很抱歉,我无法在堆栈溢出中格式化代码。