gpt4 book ai didi

java - 基于 Elasticsearch URI 的搜索查询,无需源字段

转载 作者:行者123 更新时间:2023-12-01 09:36:42 26 4
gpt4 key购买 nike

我正在尝试执行如下所示的基于 URI 的查询。但我没有看到我传递的搜索参数有任何影响。我还想禁用 _source=false。你能帮我查询一下吗?我正在使用 java 使用 Java.net 包执行相同的操作。无论我传递什么搜索参数,此查询都会返回所有内容。

URI:“http://localhost:9200/twitter/twitter/_search?updatedBy=XX&node=YY

Java 代码:

   String charset = "UTF-8"; 
String updatedBy = "XX";
String node = "YY";

String query = String.format("updatedBy:%s&nodeId:%s",
URLEncoder.encode(updatedBy, charset),
URLEncoder.encode(nodeId, charset));
System.out.println(searchEsUrl + "?q=" + query);

URLConnection connection = new URL(searchEsUrl + "?q=" + query).openConnection();
connection.setRequestProperty("Accept-Charset", charset);

最佳答案

试试这个

String query = String.format("updatedBy:%s+AND+nodeId:%s",
URLEncoder.encode(updatedBy, charset),
URLEncoder.encode(nodeId, charset));
URLConnection connection = new URL(searchEsUrl + "?_source=false&q=" + query).openConnection();

问题是 q= 参数中发送的任何内容都需要遵循查询字符串 query syntax rules并且两个约束使用 AND 运算符而不是 & 进行 AND 运算,如下所示:updatedBy:XX AND nodeId:YY

您要构造的 URI 如下:

"http://localhost:9200/twitter/twitter/_search?q=updatedBy:XX AND nodeId:YY"

关于java - 基于 Elasticsearch URI 的搜索查询,无需源字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38837215/

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