时间:2021-07-01 10:21:17 帮助过:47人阅读
- <code> namespace App\Http\Controllers\Search;
- use Illuminate\Http\Request;
- use App\Http\Requests;
- use App\Http\Controllers\Controller;
- use Elasticsearch\Client;
- class Index extends Controller
- {
- protected $client;
- public function __construct(Client $client)
- {
- $this->client = $client;
- }
- public function search_test(Request $request,$filter='list'){
- $word = trim($request->input('word'));
- $s=is_null($request->input('s'))?10:trim($request->input('s'));//一页多少条
- $f=is_null($request->input('f'))?1:trim($request->input('f'));//当前页数
- $fr=($f-1)*$s;//当前页从第一条记录开始
- $params=[
- 'index' => 's_index',
- 'type' => 's_type',
- 'body' => [
- 'query' => [
- 'bool' => [
- 'should' => [
- [ 'match' => [ 'title' => $word ] ],
- [ 'match' => [ 'description' => $word ] ],
- ]
- ]
- ]
- ,'from'=>$fr, 'size'=>$s
- ,'highlight'=>[
- 'fields'=>[
- 'title'=>[]
- ]
- ]
- ]
- ];
- $response = $this->client->search($params);
- echo "<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>";</li><li> var_dump($response);</li><li> echo "</li></ol></pre>";
- }
- } </code>
查询结果都能返回,就是无highlight数据,求朋友帮忙!!!
- <code> namespace App\Http\Controllers\Search;
- use Illuminate\Http\Request;
- use App\Http\Requests;
- use App\Http\Controllers\Controller;
- use Elasticsearch\Client;
- class Index extends Controller
- {
- protected $client;
- public function __construct(Client $client)
- {
- $this->client = $client;
- }
- public function search_test(Request $request,$filter='list'){
- $word = trim($request->input('word'));
- $s=is_null($request->input('s'))?10:trim($request->input('s'));//一页多少条
- $f=is_null($request->input('f'))?1:trim($request->input('f'));//当前页数
- $fr=($f-1)*$s;//当前页从第一条记录开始
- $params=[
- 'index' => 's_index',
- 'type' => 's_type',
- 'body' => [
- 'query' => [
- 'bool' => [
- 'should' => [
- [ 'match' => [ 'title' => $word ] ],
- [ 'match' => [ 'description' => $word ] ],
- ]
- ]
- ]
- ,'from'=>$fr, 'size'=>$s
- ,'highlight'=>[
- 'fields'=>[
- 'title'=>[]
- ]
- ]
- ]
- ];
- $response = $this->client->search($params);
- echo "<pre class="brush:php;toolbar:false layui-box layui-code-view layui-code-notepad"><ol class="layui-code-ol"><li>";</li><li> var_dump($response);</li><li> echo "</li></ol></pre>";
- }
- } </code>
查询结果都能返回,就是无highlight数据,求朋友帮忙!!!
暂时没做过搜索服务,感觉高亮的数据应该在控制器里面处理的吧。