Elasticsearch-php之高亮搜索 转
时间:2022-06-19
本文章向大家介绍Elasticsearch-php之高亮搜索
转,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
在PHP中,调用elasticsearch进行搜索时,想让结果高亮显示,添加参数highlight
,在其下的field
中,添加需要高亮的字段,之前写成'content => []'
,没有返回高亮结果。
后来通过搜索查询相关问答网站,才知道需要将类型数组转换为对象,如'content' => new stdClass()
。
public function search()
{
$hosts = ['127.0.0.1:9200'];
$clientBuilder = ClientBuilder::create(); // Instantiate a new ClientBuilder
$clientBuilder->setHosts($hosts); // Set the hosts
$client = $clientBuilder->build(); // Build the client object
//Set search params
$params = [
'index' => 'index',
'type' => 'fulltext',
'body' => [
'query' => [
'term' => [
'content' => '中国'
]
],
'highlight' => [
'pre_tags' => ["<em>"],
'post_tags' => ["</em>"],
'fields' => [
"content" => new stdClass()
]
]
]
];
$response = $client->search($params);
print_r($response);
}
返回的结果如下,查询关键字“中国”,返回的结果中,在highlight
中,标签<em>高亮包含了“中国”:
Array
(
[took] => 2
[timed_out] =>
[_shards] => Array
(
[total] => 5
[successful] => 5
[failed] => 0
)
[hits] => Array
(
[total] => 2
[max_score] => 1.5
[hits] => Array
(
[0] => Array
(
[_index] => index
[_type] => fulltext
[_id] => 4
[_score] => 1.5
[_source] => Array
(
[content] => 中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首
)
[highlight] => Array
(
[content] => Array
(
[0] =>
<em>中国</em>驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首
)
)
)
[1] => Array
(
[_index] => index
[_type] => fulltext
[_id] => 3
[_score] => 0.53699243
[_source] => Array
(
[content] => 中韩渔警冲突调查:韩警平均每天扣1艘中国渔船
)
[highlight] => Array
(
[content] => Array
(
[0] => 中韩渔警冲突调查:韩警平均每天扣1艘
<em>中国</em>渔船
)
)
)
)
)
)
参考链接地址:用elasticsearch-php laravel为什么不能返回高亮数据?
(adsbygoogle = window.adsbygoogle || []).push({});
- 教您最简单粗暴的MATLAB入门级爬虫2
- 前台JS(Jquery)调用后台方法 无刷新级联菜单示例
- 项目中对图片的缩放和水印效果
- 照虎画猫写自己的Spring——自定义注解
- 数据分析进阶课程笔记(六)
- 微信发布重磅更新!上线小游戏,小程序间可快速切换
- 鼠标点击层以外的地方层隐藏
- WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)
- WCF后续之旅(11): 关于并发、回调的线程关联性(Thread Affinity)
- 解决文本框在updatepanel中得到焦点,输入法不能切换到中文的问题
- 得到真实外网IP、IP所在国家、省份、地区
- 机器学习在智能制造中的应用!
- sql2008 附加数据库时 错误5123
- Logistic Regression Models分析交互式问答译
- php概述
- php教程
- php环境搭建
- PHP书写格式
- php变量
- php常量
- PHP注释
- php数组
- php字符串 string
- PHP整型 integer
- PHP浮点型 float
- php布尔型
- php数据类型之数组
- php数据类型之对象
- php数据类型之null
- php数据类型之间的转换
- php运算符
- php表达式
- PHP循环控制
- PHP流程控制
- php函数
- php全局变量
- PHP魔术变量
- php命名空间
- php 日期
- PHP包含文件
- php文件
- PHP 文件上传
- php Cookies
- php Sessions
- php email
- php安全email
- php错误处理
- PHP异常处理
- php过滤器
- PHP 高级过滤器
- php json
- php 表单
- PHP MySQL 简介
- PHP 连接 MySQL
- php创建数据库
- php 创建表
- php mysq 插入数据
- PHP MySQL 插入多条数据
- PHP MySQL 预处理语句
- php mysql 读取数据
- php mysql where
- PHP MySQL Order By
- PHP MySQL Update
- PHP MySQL Delete
- php ODBC
- BroadcastReceiver三问—美团真题
- 小程序调用拍照功能
- Jetpack中可能被你忽视的—行为组件简析
- pytest封神之路第零步 快速入门
- beego(一) beego 入门
- javascript预编译(执行期的上下文)
- Elasticsearch评分相关度算法解析
- Netty入门教程——认识Netty
- Linux下的包过滤软件:iptables剖析
- rxjs fromEvent的实现
- rxjs switchMap的实现原理
- rxjs里scan operator的执行研究
- rxjs pipe和map组合的一个实际例子的单步调试
- Win10+Python2.7.14+cocos2d-x-3.17.2+VS2017环境搭建
- VUE-001-在表格单元格(el-table-column)中添加超链接访问