3

I want to write the query to hit from java. But didn't get proper documentation. Can someone please help?

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"
        }
      }
    }
  }
}
Raghawendra singh
  • 65
  • 1
  • 2
  • 10

1 Answers1

0

Here is the way to do it:

// 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); 
Val
  • 207,596
  • 13
  • 358
  • 360