Ich benutze Elasticsearch zum ersten Mal und habe die Indexierung und grundlegende Suche nach unten, aber ich suche eine komplexe Suche.Wie funktioniert das Feldboosing im Elasticsearch PHP-Client?
Mit dem PHP-Client wie machen Sie Teilsuchen und Feldverstärkung/Relevanz? Letztendlich möchte ich mehrere Felder nach partiellen Übereinstimmungen, genauen Übereinstimmungen durchsuchen und einige Felder auffrischen.
Hier ist was ich bisher habe, aber ich kann es nicht funktionieren. Die Elasticsearch-Dokumentation ist nicht gut.
$show_params = [
'index' => env('ES_INDEX'),
'type' => 'show',
'size' => 6,
'body' => [
'query' => [
'bool' => [
'should' => [
[
'match' => [
'title' => [
'query' => '*' . $q . '*',
'boost' => 2
]
]
],
[
'match' => [
'synopsis' => '*' . $q . '*'
]
]
]
]
]
]
];
$client = \Elasticsearch\ClientBuilder::create()->build();
$show_raw_results = $client->search($show_params);