gpt4 book ai didi

java - 使用高级搜索运算符使用 Restful API 向搜索引擎发送查询

转载 作者:行者123 更新时间:2023-12-02 01:23:47 26 4
gpt4 key购买 nike

我对 REST API 的使用完全陌生。然而,现在,我需要使用 ChatNoir Search engine 中提供的其余 API。发送一些关键字并检索相关文档。我已经编写了发送查询并接收结果的代码。当查询像“hello world”这样简单时,它会返回一些结果,但是当查询项数量增加时,它会返回null。我认为搜索引擎将查询视为完全匹配。所以,也许我应该使用高级搜索运算符。在 ChatNoir documents ,值得注意的是,我们可以像其他搜索引擎一样使用高级搜索运算符。但是我不知道如何在JAVA中使用它。我在查询术语之间使用了“And”运算符并将查询作为字符串发送,但它不起作用。我的源代码是:

    JSONObject json = new JSONObject();
json.put("apikey", "$MyAPIKey");
List<String> datasource=new ArrayList<>();
datasource.add("cw09");
json.put("index", datasource);
json.put("pretty", true);
json.put("query","hello world");*****

HttpClient httpClient = new DefaultHttpClient();
try {
HttpPost request = new HttpPost("https://www.chatnoir.eu/api/v1/_search");
StringEntity params = new StringEntity(json.toString());
request.addHeader("content-type", "application/json");
request.setEntity(params);
HttpResponse response= httpClient.execute(request);

HttpEntity entity = response.getEntity();
String responseString = EntityUtils.toString(entity, "UTF-8");

JSONObject jsonObject = new JSONObject(responseString);
JSONArray jsonArray=null;
if (jsonObject!=null)
jsonArray= jsonObject.getJSONArray("results");
for(int x = 0; x < jsonArray.length(); x++){
String uuid=jsonArray.getJSONObject(x).getString("uuid");
String score=String.valueOf(jsonArray.getJSONObject(x).getDouble("score"));
System.out.print("uuid="+uuid+"\t"+"score="+score);
}
} catch (Exception e) {
System.out.println(e);
}

因此,问题是如何将查询词发送到搜索引擎而不被视为完全匹配(也许使用高级搜索运算符)。例如,查询词为term1、term2、term3、term4、term5、term6。

如有任何帮助,我们将不胜感激。

最佳答案

搜索引擎不会将您的查询视为完全匹配短语,但默认术语运算符是 AND,这意味着所有单个术语都必须出现在文档中。完全匹配的短语会受到奖励并出现在各个术语匹配之前,但不是必需的。因此,随着查询变长,预计您得到的结果将会减少。

如果要搜索仅包含查询部分内容的文档,则必须将其表述为 OR 查询。例如,"hello world"OR "search engine" 将匹配包含 hello worldsearch engine 或两者的文档。不过,预计结果会完全无关。有时,一个术语更为常见,并且与更多文档相匹配,因此您将很难找到也包含另一个术语的结果。

关于java - 使用高级搜索运算符使用 Restful API 向搜索引擎发送查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57266143/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com