La requête multi_match prend en charge les champs augmentant par la notation^dans le domaine JSON comme ci-dessousComment définir le boost pour chaque champ en utilisant MultiMatchQueryBuilder?
{
"multi_match" : {
"query" : "this is the best",
"fields" : [ "number^5", "description^2" ]
}
}
Je veux obtenir la même chose en utilisant api java, je suis donc en utilisant MultiMatchQueryBuilder
pour construire la requête comme suit:
final MultiMatchQueryBuilder query
= new MultiMatchQueryBuilder(keyword, "number^5", "description^2");
Mais élastique recherche api convertit cette requête comme suit:
{
"multi_match" : {
"query" : "this is the test",
"fields" : [
"number^5.0^1.0",
"description^2.0^1.0"
],
"type" : "best_fields",
"operator" : "OR",
"slop" : 0,
"prefix_length" : 0,
"max_expansions" : 50,
"lenient" : false,
"zero_terms_query" : "NONE",
"boost" : 1.0
}
}
Quelle devrait être la bonne façon définir un boost pour chaque champs de la requête?