Ich hoffe, jemand kann mit der Syntax für eine einfache Abfrage von ElasticSearch in einem Laravel-Controller helfen.Wie Abfrage ElasticSearch in Laravel Controller
Ich habe es geschafft, zu einer Blade-Vorlage in der Ansicht zu indizieren und auszugeben, aber ich kann das Abfragerecht nicht erhalten, um die Suchformularvariable zu aktivieren, um eine Suche nach meinen Seed-Daten durchzuführen.
Suchmethode von der Steuerung:
public function searchPlugins() {
$client = Elasticsearch\ClientBuilder::create()->build();
$query2 = Request::input('query2');
$params = [
'index' => 'partnerpages',
'type' => 'plugins',
'body' => [
'query' => $query2['query2']
]
];
$plugins = $client->search($params);
return View::make('search2')->with('plugins', $plugins);
}
Ich kann einfach nicht die Abfrage im params Array richtig machen - ich konnte es nur für ein bestimmtes Feld und Keyword Ausganges.
Jede Hilfe sehr geschätzt, danke im Voraus.
EDIT
-Code zur Ausgabe in der Ansicht in meiner Klinge Vorlage:
<!-- Search engine -->
<div class="col-md-8">
{{ Form::open(array('route' => 'search-plugins2', 'class' => 'form')) }}
{{ Form::input('search', 'query2', Input::get('query2', ''))}}
{{ Form::submit('Search plugins') }}
{{ Form:: close() }}
</div><!-- end of Search engine -->
<div class="col-md-8">
<!-- insert Search engine -->
<br/>
<h1>Plugin results</h1>
<br/>
<div class="panel panel-default">
<div class="panel-body"><h2></h2>
<div><?php print_r($plugins);?></div>
<div></div>
<div><small></small></div>
</div>
</div>
</div><!-- end of row -->
Dank @val, ich den Fehler bekommen "Illegal String-Offset 'query2'", die ich verstehen, bedeutet, ich versuche, auf den Wert zuzugreifen eines Arrays mit einem Schlüssel, der nicht existiert, dh query2. Wenn ich die Abfrage hart Code dann gut. Ich füge den Code aus der Ansicht hinzu, wenn da ein Problem ist ?? – pfeatherstone
Nur mit der Variable 'query' => $ query2 funktionierte - großartig! Danke nochmal Val. Immer noch Probleme beim Ausgeben des Arrays in einer foreach-Schleife. Vielleicht, weil es ein mehrdimensionales Array ist, habe ich auf print_r zurückgegriffen. – pfeatherstone
Froh, dass es geholfen hat! – Val