只有找官方文档,然后一步一步的解读,然后找到如下方法进行高亮展示查询的字段,之前使用ai回答这类问题,基本过时和报错,现在把这个最新代码发到网上,供参考和学习,一点的知识也是慢慢积累的
```php // 创建一个新的 Sphinx 客户端实例 $client = new SphinxClient(); $limit = 1; // 设置 Sphinx 服务器的地址和端口 $client->SetServer('127.0.0.1', 9312); $client->SetConnectTimeout ( 30 ); $client->SetLimits ( 0, $limit, ( $limit>1000 ) ? $limit : 1000 ); $client->SetArrayResult ( true );
$index="test1";//索引名 $q="doc";//查询关键词 $client->setLimits(0, 3); //查询字段 ,SNIPPET返回关键字 包含高亮的数据 //创建索引的配置文件必须配置 hl_fields 的内容 ,stored_fields存储字段 // index test1 //{ // type = plain #静态数据,必须重启后才能够查询这些数据 indexer build --all 加载数据,不重启就无法加载这些数据 // source = src1 // field = title,content // stored_fields = title,content // hl_fields = title,content // attr_uint = group_id, date_added //} $client-> SetSelect(" id,SNIPPET(title, QUERY()) as title,SNIPPET(content, QUERY()) as content "); $client->AddQuery ( $q, $index); $weights = ['title1' => 1]; // 设置 'title' 字段的权重 $client->SetFieldWeights($weights); $res = $client->RunQueries(); if ( $res===false ) { print "Query failed: " . $client->GetLastError() . ".\n"; } else{ //处理数据 }
```