Elasticsearch Java API Function Score和脚本查询



我想写查询从java命中。但没有得到适当的文件。有人能帮帮我吗?

GET my-index/_search
{
"size": 2,
"query": {
"script_score": {
"query": {
"bool": {
"filter": {
"term": {
"color": "RED"
}
}
}
},
"script": {
"lang": "knn",
"source": "knn_score",
"params": {
"field": "my_binary",
"query_value": "iiQ1QDEABAA=",
"space_type": "hammingbit"
}
}
}
}
}

方法如下:

// Build the query part
TermQueryBuilder termQuery = QueryBuilders.termQuery("color", "RED");
// Build the script
Map params = new HashMap();
params.put("field", "my_binary");
params.put("query_value", "iiQ1QDEABAA=");
params.put("space_type", "hammingbit");
Script script = new Script(ScriptType.STORED, null, "knn_score", params);
// Assemble the two together
ScriptScoreQueryBuilder scriptScoreBuilder = QueryBuilders.scriptScoreQuery(termQuery, script);
// Build the query
SearchRequest searchRequest = new SearchRequest(); 
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); 
searchSourceBuilder.query(scriptScoreBuilder); 
searchRequest.source(searchSourceBuilder); 

最新更新