Heim > Artikel > Backend-Entwicklung > Warum können hervorgehobene Daten mit Elasticsearch-php Laravel nicht zurückgegeben werden?
<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">"; var_dump($response); echo ""; } }
Die Abfrageergebnisse können alle zurückgegeben werden, aber es gibt keine Hervorhebungsdaten. Bitte helfen Sie mir! ! !
<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">"; var_dump($response); echo ""; } }
Die Abfrageergebnisse können alle zurückgegeben werden, aber es gibt keine Hervorhebungsdaten. Bitte helfen Sie mir! ! !
Ich habe noch keinen Suchdienst durchgeführt. Ich bin der Meinung, dass die hervorgehobenen Daten im Controller verarbeitet werden sollten.