ElasticSearch测试、IK分词简单测试(PHP)_phpluo的博客-CSDN博客_elasticsearch-ik 单测


本站和网页 https://blog.csdn.net/weixin_42579642/article/details/84316697 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

ElasticSearch测试、IK分词简单测试(PHP)_phpluo的博客-CSDN博客_elasticsearch-ik 单测
ElasticSearch测试、IK分词简单测试(PHP)
phpluo
于 2018-11-21 12:04:25 发布
2803
收藏
分类专栏:
PHP
ElasticSearch
文章标签:
PHP
ElasticSearch
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42579642/article/details/84316697
版权
PHP
同时被 2 个专栏收录
28 篇文章
0 订阅
订阅专栏
ElasticSearch
4 篇文章
0 订阅
订阅专栏
以下全是测试代码:如有需要了解安装 ElasticSearch和IK分词的可参考:https://blog.csdn.net/weixin_42579642/article/details/84317099
use Elasticsearch\ClientBuilder;
class ElasticController extends Controller
public function creat(){
$esclient = ClientBuilder::create()
->setHosts(["172.20.10.14:9200"])
->build();
$data = DB::table('user')->get();
// 单次插入
/* foreach($data as $k=>$v) {
$params = [
'index' => 'shop',
'type' => 'user',
'id' => $v->id,
];
unset($v->id);
foreach($v as $kk => $vv){
$params['body'][$kk] = $vv;
$res = $esclient->index($params);
}*/
// 批量分次插入
/* $arr = [];
foreach($data as $k=>$v){
$arr[]['index'] = ['_id' => $v->id];
$arr2 = [];
foreach($v as $kk=>$vv){
$arr2[$kk] = $vv;
$arr[] = $arr2;
//print_r(count($arr)/2/6);exit;
$num = 6; //设置多少条插入一次
$count = count($arr)/2/$num;
$res = [];
for($i=0;$i<$count;$i++){
$new_arr = [];
$j = $i*2*$num;
$jj = ($i+1)*2*$num;
for($j;$j<$jj;$j++){
$new_arr[] = $arr[$j];
$params = [
'index' => 'my_indexa',
'type' => 'my_typea',
'body' => $new_arr
];
$res[] = $esclient->bulk($params);
print_r($res);exit;*/
//根据id获取
/* $params = [
'index' => 'shop',
'type' => 'user',
'id' => '14',
];
$res = $esclient->get($params);
print_r($res);exit;*/
//搜索
/* $search_params = [
'index' => 'shop',
'type' => 'user',
'body'=> [
'query'=> [
'match'=> [
'name'=>'罗'
];
$res = $esclient->search($search_params);
print_r($res);*/
//测试分词效果(如果有效果证明安装IK成功)
/* $params = [
'body' => [
'text' => '天天敲代码非常高兴',
'analyzer'=>'ik_max_word' //ik_max_word 精细 ik_smart 粗略
];
$res = $esclient->indices()->analyze($params);
print_r($res);*/
// 创建空索引(必须是新索引名称)
/* $params = [
'index' => 'my_index_user4',
];
$res = $esclient->indices()->create($params);*/
// 创建映射(索引名必须为 my_index_user4)
/* $params = [
'index' => 'my_index_user4',
'type' => 'my_type_user4',
'body' => [
'my_type_user4' => [
'_source' => [
'enabled' => true //可选参数(可以减轻服务器压力)
],
'properties' => [
'contents' => [
'type' => 'text', // 字符串型
'analyzer'=>'ik_max_word', //ik_max_word 最细粒度拆分 ik_smart最粗粒度拆分
'search_analyzer'=> 'ik_max_word'
];
$res = $esclient->indices()->putMapping($params);*/
// 批量分次插入(索引名必须为 my_index_user4)
/* $data1 = DB::table('elastic_test')->get();
$arr = [];
foreach($data1 as $k=>$v){
$arr[]['index'] = ['_id' => $v->id];
$arr2 = [];
foreach($v as $kk=>$vv){
$arr2[$kk] = strval($vv); //因为搜索对整形无效所以把数值都改成字符串(根据需要添加即可)
$arr[] = $arr2;
$num = 6; //设置多少条插入一次
$count = count($arr)/2/$num;
$res = [];
for($i=0;$i<$count;$i++){
$new_arr = [];
$j = $i*2*$num;
$jj = ($i+1)*2*$num;
for($j;$j<$jj;$j++){
$new_arr[] = $arr[$j];
$params = [
'index' => 'my_index_user4',
'type' => 'my_type_user4',
'body' => $new_arr
];
$res[] = $esclient->bulk($params);
print_r($res);exit;*/
//搜索(索引名必须为 my_index_user4)
$search_params = [
'index' => 'my_index_user4',
'type' => 'my_type_user4',
'body' => [
'from' => 4,
'size' => 3, //分页展示,from相当于分页中的偏移量,size相当于每页展示的条数
'query' => [
'match' => [
'contents' =>['query'=>'今天好好','operator' => 'AND'] //所有关键词都必须出现 可以不连续(默认是有一个词就匹配到)
// 'query' => [
// 'match_phrase' => [ //必须完全匹配
// 'contents' => '今天天气'
// ]]
// 'query' => [ //通配符查询
// 'wildcard' => [
// 'name' => '*user*' //?代表站一个字符如'???2345*'这是匹配第四位跟第7位是2345的,**类似于sql里面like中的%%的用法
// ]]
// 'query' => [ //正则匹配
// 'regexp' => [
// 'phone' => '135.*' //匹配以135开头的
// ]]
//设置高亮
"highlight" => [
"pre_tags" => [
'<span style="color:red">'
],
"post_tags" => [
'</span>'
],
'fields'=> [
'contents' => new \stdClass()
];
$res = $esclient->search($search_params);
print_r($res);
phpluo
关注
关注
点赞
收藏
打赏
评论
ElasticSearch测试、IK分词简单测试(PHP)
以下全是测试代码:如有需要了解安装 ElasticSearch和IK分词的可参考:https://blog.csdn.net/weixin_42579642/article/details/84317099use Elasticsearch\ClientBuilder;class ElasticController extends Controller{ public funct...
复制链接
扫一扫
专栏目录
ElasticSearch默认中文分词|安装外部中文分词器IK|Mapping的简单测试|基于中文分词搭建索引
SmallScorpion
05-10
612
中文分词
elasticsearch本身自带的中文分词,就是单纯把中文一个字一个字的分开,根本没有词汇的概念。但是实际应用中,用户都是以词汇为条件,进行查询匹配的,如果能够把文章以词汇为单位切分开,那么与用户的查询条件能够更贴切的匹配上,查询速度也更加快速。
使用默认
GET movie_index/_analyze
"text": "我是中国人"
安装IK
与es版本一致
分词器下载网址:https://github.com/medcl/elasticsearch-analysis-
Elasticsearch-ik分词器-es-head可视化工具安装(win版本)
终是庄周
09-20
558
Elasticsearch-ik分词器es-head可视化工具安装(win版本)
参与评论
您还未登录,请先
登录
后发表或查看评论
elastic ik分词搜索_php环境下使用elasticSearch+ik分词器进行全文搜索
weixin_28221501的博客
01-19
204
php中文网最新课程每日17点准时技术干货分享首先需要说明的一点是,如果需要启用ik分词器,那么分词器的版本必须与es版本一致,即6.3.0的分词器需要同样6.3.0版本的es支持。安装javawin-64bit的安装包需要去java英文官网查找安装ES6.3.0版本es下载地址:https://www.elastic.co/downloads/past-releases/elastic...
IK分词器测试代码
最新发布
weixin_71189259的博客
10-06
33
分词器, 在, 以后, 用上, 的, 时候, 在, 写文章, 进行, 详细, 介绍]“分词器在以后用上的时候在写文章进行详细介绍”
elasticsearch7.1.0 ik中文分词快速搭建本地测试环境(docker版本)
乾坤瞬间的博客
07-18
1388
docker name
version
elasticsearch
7.1.0
kibana
7.1.0
> git pull https://github.com/medcl/elasticsearch-analysis-ik.git
> cd elasticsearch-analysis-ik
> mvn clean compile packa...
ElasticSearch 中文分词器ik的安装、测试、使用、自定义词库、热更新词库
willingtolove的博客
07-05
339
文章目录# 实验环境# ik分词器的下载、安装、测试1、下载2、安装3、重启`ElasticSearch`查找es进程杀掉es进程重启es4、测试未使用ik分词器,使用默认分词器效果使用IK分词器之后# 更新词库
# 实验环境
操作系统:Ubuntu 18.0.4
ElasticSearch版本:7.13.2
中文分词分词器IK:elasticsearch-analysis-ik-7.13.2
# ik分词器的下载、安装、测试
1、下载
下载地址:https://github.com/medcl/el
Elasticsearch 7.6.1学习(二)ik分词器的安装与测试,ik分词器增加自己的词,自定义字典
一天不写代码难受的博客
02-16
476
目录es相关概念ik分词器ik分词器的测试ik分词器增加自己的词
es相关概念
elasticsearch(集群)中可以包含多个索引(数据库),每个索引中可以包含多个类型(表),每个类型下又包
含多 个文档(行),每个文档中又包含多个字段(列)。
ik分词器
如果要使用中文,建议使用ik分词器!
IK提供了两个分词算法:ik_smart 和 ik_max_word,其中 ik_smart 为最少切分,ik_max_word为最细
粒度划分!
下载ik分词器
放到es的插件里面,重启es
ik分词器的测试
ElasticSerach 6.8.1 安装IK分词器和拼音分词器,并检测是否生效
qinghuidu的博客
08-06
475
ES的安装参考:https://blog.csdn.net/qinghuidu/article/details/107683338
1、下载中文/拼音分词器
IK中文分词器:https://github.com/medcl/elasticsearch-analysis-ik
拼音分词器:https://github.com/medcl/elasticsearch-analysis-pinyin
2、在es的映射目录下,创建目录plugins,将下载好的分词器放进目录中,并且解压
3、重启dock
Elasticsearch之插件Ik分词器详细测试
一笑生风
11-08
1779
Elasticsearch之插件Ik分词器详细测试
elasticsearch版本:6.7.2
这里主要测试三种分词器:Ik(ik_smart 、 ik_max_word),standard(es自带的)
先看三种分词器分词效果:
可以看出 ik_smar :智能中文语法拆分 | ik_max_word :中文语法详细拆分 | standard:逐...
ElasticSearch的IK分词器安装测试
smilefyou的博客
12-07
453
IK分词器
IK分词器对中文具有良好支持的分词器,包括ik_max_word和ik_smart,
ik_max_word会将文本做最细粒度的拆分;
ik_smart 会做最粗粒度的拆分;
测试(默认分词器)
POST localhost:9200/_analyze
{"text":"原世间美好与您环环相扣"}
下载安装es对应的IK分词器,解压后把整个jar包所在目录移动到es的plugs目录下(config下可配置分词文档)
测试(ik_smart和ik_max_word)
POST localho
Elasticsearch介绍2
u014748504的博客
09-09
166
Elasticsearch
一. analysis与analyzer
​analysis(只是一个概念),文本分析是将全文本转换为一系列单词的过程,也叫分词。analysis是通过analyzer(分词器)来实现的,可以使用Elasticsearch内置的分词器,也可以自己去定制一些分词器。除了在数据写入的时候将词条进行转换,那么在查询的时候也需要使用相同的分析器对语句进行分析。
​anaylzer是由三部分组成,例如有Hello a World, the world is beautifu:
Cha
PHP使用elasticsearch搜索安装及分词方法
weixin_34254823的博客
10-22
310
一、背景
为什么会用到这个ES搜索?是因为我在看乌云的漏洞案例库时候,搜索即为不方便。
比如说说我要搜索一个 SQL注入
那mysql匹配的时候是like模糊匹配,搜索必须要有SQL注入这四个字,连续的才能查找到那这样会不太方便。
然后我就想着做一个分词,搜索起来会方便不少,第一个想到的就是ES搜索了。
怎么去用ES呢?
二、安装ES搜索...
ElasticSearch5.3安装IK分词器并验证
热门推荐
程序男的专栏
04-17
2万+
ElasticSearch5.3安装IK分词器
之前使用Elasticsearch安装head插件成功了,但是安装IK分词器却失败了,貌似是ElasticSearch5.0以后就不支持直接在elasticsearch.yml中配置IK了。原因下面会说明。
首先下载:
https://www.elastic.co/downloads/elasticsearch
https://github.com
elasticsearch ik中文分词器安装使用教程 亲测有效
beautiful_huang的博客
12-03
415
文章目录一、前言二、分词器安装下载 ik 分词器ik安装三、热更新 IK 分词使用方法创建索引
一、前言
为什么要在elasticsearch中要使用ik这样的中文分词呢,那是因为es提供的分词是英文分词,对于中文的分词就做的非常不好了,因此我们需要一个中文分词器来用于搜索和使用。
二、分词器安装
下载 ik 分词器ik
下载的版本一定要对应elasticsearch的版本:ik下载地址
安装
下...
【ES系列三】——ES集成ik分词并测试
一直在奋起,一直在路上
11-24
1万+
一、下载ik安装包 https://github.com/medcl/elasticsearch-analysis-ik/releases 注:一定要与ES版本保持一致(我ES用的是6.0.0所以ik也要下载6.0.0),如下图:二、解压 1、可以通过命令:unzip 文件夹 进行解压 2、要是没有unzip命令可以通过命令:yum install unzip 进行安
elasticsearch-分词测试
小蜗牛的博客
06-29
573
分词结果:
"tokens": [
"token": "今天天气",
"start_offset": 0,
"end_offset": 4,
"type": "CN_WORD",
"position": 0
},
"token": "今天",
"start_offset...
最新php中es安装ik分词器(Elasticsearch安装篇二)
php-yyds
09-04
365
一、中文分词ik
注意Elasticsearch版本要对应ik的版本
安装方式
方式1.开源分词器 Ik 的github:https://github.com/medcl/elasticsearch-analysis-ik
下载后放到plugins文件夹里面
方式 2.使用命令安装,要对应版本,7.14.1是对应es版本,不一样请自行更改
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearc...
php es中文分词,Elasticsearch中文分词之热更新词典
weixin_28941895的博客
03-27
83
1.所有ES节点都操作配置中文分词器cd /usr/share/重启所有ES节点systemctl restart elasticsearch[root@db01 /etc/yum.repos.d]#vim nginx.repo[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasev...
8.1.1-elasticsearch文本解析之分词器测试及内置分词器配置
红笺小字
06-04
324
ES提供了测试分词器的端点,可以在请求中指定内置的分词器并验证文本解析效果并配置内置分词器
elasticsearch 的分词
larance的挨踢生活
04-24
1926
Elasticsearch 中文搜索时遇到几个问题:
当搜索关键词如:“人民币”时,如果分词将“人民币”分成“人”,“民”,“币”三个单字,那么搜索该关键词会匹配到很多包含该单字的无关内容,但是如果将该词分词成一个整词“人民币”,搜索单字如“人”字又不会匹配到包含“人民币”关键词的内容,怎么解决这个问题,既保证覆盖度又保证准确度?
搜索“RMB”时只会匹配到包含“RMB”关键词的内容,实际上,“RMB”和“人民币”是同义词,我们希望用户搜索“RMB”和“人民币”可以相互匹配,ES同义词怎么
php 搜索引擎 分词_PHP使用elasticsearch搜索安装及分词方法
weixin_35644453的博客
03-08
254
一、背景为什么会用到这个ES搜索?是因为我在看乌云的漏洞案例库时候,搜索即为不方便。比如说说我要搜索一个 SQL注入那mysql匹配的时候是like模糊匹配,搜索必须要有SQL注入这四个字,连续的才能查找到那这样会不太方便。然后我就想着做一个分词,搜索起来会方便不少,第一个想到的就是ES搜索了。怎么去用ES呢?二、安装ES搜索我们只需要一个JAVA环境并且把Java的环境变量配置好,我相信这些JA...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:精致技术
设计师:CSDN官方博客
返回首页
phpluo
CSDN认证博客专家
CSDN认证企业博客
码龄4年
中文在线集团
76
原创
19万+
周排名
85万+
总排名
35万+
访问
等级
3147
积分
51
粉丝
91
获赞
43
评论
284
收藏
私信
关注
热门文章
HTTPS站点使用WebSocket的常见错误及解决方案
50538
数据库常见死锁原因及处理
41514
HTTPS站点使用WebSocket的常见错误及解决方案
33347
linux 安装php7.3
25739
Linux配置https服务
19063
分类专栏
区块链
5篇
python
1篇
windows
1篇
java
1篇
FirePHP
正则
1篇
安装lnmp
1篇
linux源码安装软件
1篇
PHP
28篇
Rides
4篇
phpmailer
1篇
支付宝
1篇
PHP链接短信接口
1篇
SMS
1篇
Laravel
5篇
CSRF
1篇
GIT
1篇
sql文件
1篇
微信
4篇
XML
1篇
二维码
1篇
url
2篇
Hbuider
1篇
JS
1篇
linux
4篇
APP支付
1篇
Memcached
1篇
memcache
2篇
Mysql
4篇
负载均衡
2篇
keepalived双机热备
1篇
文件同步
1篇
数据库
7篇
区块链
5篇
ElasticSearch
4篇
TP3.2
1篇
Memcach
缓存
1篇
Redis
4篇
SSL
1篇
微信小程序
3篇
Docker
7篇
CentOS
4篇
X-Sendfile
1篇
yaf
2篇
swoole
6篇
nginx
2篇
nginx-rtmp-module
Composer
4篇
liunx
2篇
ftp
1篇
算法
3篇
sql
1篇
swoft
1篇
最新评论
HTTPS站点使用WebSocket的常见错误及解决方案
Younger_50:
我理解应该换成你的服务ip加端口
HTTPS站点使用WebSocket的常见错误及解决方案
小 柯:
请问"http://backend"换成啥
用Redis实现高并发抢购问题(原理及代码全)
phpluo:
不用的
用Redis实现高并发抢购问题(原理及代码全)
phpluo:
demo测试,主要是看思路
ERROR: An another FPM instance seems to already listen on /tmp/php-cgi.sock ERROR: FPM initializatio
尘世中一个迷途小码农:
先按照这个方法操作,如果不行再从配置文件下手
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
ElasticSearch为何查询速度快
一文搞懂│php 中的 DI 依赖注入
php到pathon
2022年2篇
2020年4篇
2019年31篇
2018年94篇
目录
目录
分类专栏
区块链
5篇
python
1篇
windows
1篇
java
1篇
FirePHP
正则
1篇
安装lnmp
1篇
linux源码安装软件
1篇
PHP
28篇
Rides
4篇
phpmailer
1篇
支付宝
1篇
PHP链接短信接口
1篇
SMS
1篇
Laravel
5篇
CSRF
1篇
GIT
1篇
sql文件
1篇
微信
4篇
XML
1篇
二维码
1篇
url
2篇
Hbuider
1篇
JS
1篇
linux
4篇
APP支付
1篇
Memcached
1篇
memcache
2篇
Mysql
4篇
负载均衡
2篇
keepalived双机热备
1篇
文件同步
1篇
数据库
7篇
区块链
5篇
ElasticSearch
4篇
TP3.2
1篇
Memcach
缓存
1篇
Redis
4篇
SSL
1篇
微信小程序
3篇
Docker
7篇
CentOS
4篇
X-Sendfile
1篇
yaf
2篇
swoole
6篇
nginx
2篇
nginx-rtmp-module
Composer
4篇
liunx
2篇
ftp
1篇
算法
3篇
sql
1篇
swoft
1篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
phpluo
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值