Ich versuche, eine Suchmaschine für ein Projekt einzurichten, das eine title
Eigenschaft auf drei Arten analysiert.Relative Gewichtung zwischen Feldern einer Eigenschaft elasticsearch
- Standardtext
- ngram Analyse
- Stichwort passende passende
möchte ich auch die relative Scoring aller mit diesen Analysen in der gleichen Priorität gewichtet Übereinstimmungen gefunden.
Hier ist meine aktuelle Zuordnung für diesen
{
"properties": {
"title": {
"type": "text",
"analyzer": "standard",
"fields": {
"keyword": {
"type": "keyword",
"boost: 1
},
"ngram": {
"type": "text",
"analyzer": "custom_ngram_analyzer",
"boost": 2
}
},
"boost": 4
},
{... Other fields ...}
}
}
I
"query" => array(
"multi_match" => array(
"query" => $query,
"type" => "best_fields",
"fields" => array("title", "title.*", ...Other fields...),
"tie_breaker" => 0.3,
"minimum_should_match" => "30%"
)
)
);
Ist dies der beste Weg, um über die Anwendung diese benutzerdefinierten Gewichte (in der Reihenfolge eines Multi Spiel mit bin auf der Suche zu gehen specefied am Anfang dieser Frage)? Ich bin mit ElasticSearch nicht so erfahren, so dass ich wahrscheinlich irgendwo falsch liege.
Irgendwelche Ideen?