3

我想编写查询以从 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"
        }
      }
    }
  }
}
4

1 回答 1

0

这是执行此操作的方法:

// 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); 
于 2021-08-31T14:35:18.230 回答