gpt4 book ai didi

php - 如何在Laravel Controller 中查询ElasticSearch

转载 作者:行者123 更新时间:2023-12-02 23:27:09 25 4
gpt4 key购买 nike

我希望有人可以在Laravel Controller 中为ElasticSearch的简单查询提供语法帮助。

我已经成功建立了索引并输出到 View 中的 Blade 模板,但是我无法获得正确的查询来启用搜索表单变量来对种子数据执行搜索。

从 Controller 搜索方法:

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);
}

我只是无法正确获取params数组中的查询-我只能将其输出到特定字段和关键字。

任何帮助,不胜感激,在此先感谢。

编辑

在 Blade 模板中的 View 中输出的代码:
<!-- 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 -->

最佳答案

您需要使用query DSL构造查询。您可以像这样开始使用 query_string query:

$params = [
'index' => 'partnerpages',
'type' => 'plugins',
'body' => [
'query' => [
'query_string' => [
'query' => $query2['query2']
]
]
]
];

关于php - 如何在Laravel Controller 中查询ElasticSearch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41513898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com