e search index.php,php操作elastcisearch使用ik分词做搜索,搜索结果总为空
问题描述
php操作elastcisearch使用分词做搜索,搜索结果总为空
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
/**
Created by PhpStorm.
User: wph
Date: 2019/3/29
Time: 11:17
*/
namespace AppHttpControllerApi;
use ElasticsearchClientBuilder;
use AppModelEsEsClient;
use EasySwooleCoreComponentDi;
class Test extends Base
{
//建立索引
public function createIndex(){
$esclient = EsClient::getInstance()->esClient;
$params = [
'index' => 'index',
];
$res = $esclient->indices()->create($params);
return $this->writeJson(200,'OK',$res);
}
public function createMap()
{
$esclient = EsClient::getInstance()->esClient;
$params = [
'index' => 'index',
'type' => 'fulltext',
'body' => [
'properties' => [
'content' => [
'type' => 'text', // 字符串型
'analyzer'=>'ik_max_word', //ik_max_word 最细粒度拆分 ik_smart最粗粒度拆分
'search_analyzer'=> 'ik_max_word'
]
]
]
];
$res = $esclient->indices()->putMapping($params);
return $this->writeJson(200,"OK",$res);
}
public function addData()
{
$esclient = EsClient::getInstance()->esClient;
$params = [
'index' => 'index',
'type' => 'fulltext',
'body' => [
'contents' =>'中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首' ,
]
];
$res = $esclient->index($params);
$this->writeJson(200,'OK',$res);
}
public function search()
{
$esclient = EsClient::getInstance()->esClient;
$search_params = [
'index' => 'index',
'type' => 'fulltext',
'body' => [
'query' => [
'match' => [ //必须完全匹配
'content' => '中国'
]]
$res = $esclient->search($search_params);
var_dump($res);
$this->writeJson(200,'OK',$res);
}
}
从创建索引 index 到添加数据 ,再到搜索全是php操作,使用ik分词做全文检索就搜索不到想要结果
e search index.php,php操作elastcisearch使用ik分词做搜索,搜索结果总为空相关推荐
- elasticsearch基础6——head插件安装和web页面查询操作使用、ik分词器
文章目录 一.基本了解 1.1 插件分类 1.2 插件管理命令 二.分析插件 2.1 es中的分析插件 2.1.1 官方核心分析插件 2.1.2 社区提供分析插件 2.2 API扩展插件 三.Head ...
- Elasticsearch_分词器、搜索文档以及原生JAVA操作
文章目录 一.ES分词器 1.默认分词器 2.IK分词器 2.1 IK分词器安装及测试 2.2 IK分词器词典 3.拼音分词器 4.自定义分词器 二.搜索文档 1.添加文档数据 2.搜索方式 3.ES ...
- Transformer Memory as a Differentiable Search Index论文阅读
文章目录 简介 相关工作 可区分搜索指数DSI 索引策略 索引方法 文档表示策略 为检索表示docids 训练和优化 实验 基线 实验结果 结论 题目:Transformer Memory as a ...
- vue 获取数组索引_vue 重塑数组之修改数组指定index的值操作
如下所示: vm.items[indexofitem] = newvalue vue不能检测数组的变动 想要实现可以使用vue的set方法 this.$set(this.items,indexofit ...
- 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作
大数据技术之_20_Elasticsearch学习_01 一 概述 1.1 什么是搜索? 1.2 如果用数据库做搜索会怎么样? 1.3 什么是全文检索和 Lucene? 1.4 什么是 Elastic ...
- 大数据技术之_20_Elasticsearch学习_01_概述 + 快速入门 + Java API 操作 + 创建、删除索引 + 新建、搜索、更新删除文档 + 条件查询 + 映射操作...
一 概述1.1 什么是搜索?1.2 如果用数据库做搜索会怎么样?1.3 什么是全文检索和 Lucene?1.4 什么是 Elasticsearch?1.5 Elasticsearch 的适用场景1.6 ...
- Elasticsearch(一)——Es安装(三个必安工具、安装各种类型分词器)、Es 十大核心概念、通过 Kibana 操作 Es(中文分词、Es各种索引命令操作)
Elasticsearch(一)--Es安装(三个必安工具.安装各种类型分词器).Es 十大核心概念.通过 Kibana 操作 Es(中文分词.Es各种索引命令操作) 一.Elasticsearch ...
- ElasticSearch入门简介、安装ES(安装Kibana和IK分词器)使用 Postman连接ES进行测、ESRestAPI(操作索引CRUD操作文档CRUD)、练习
要理解倒排索引 要能够使用DSL命令操作索引库 要能够使用DSL命令操作文档 要能够使用RestAPI操作索引库.文档 一.ES简介 理解倒排索引的概念和作用 理解es和MySql的区别和使用场景 1 ...
- 屏幕实时显示键盘鼠标操作软件keycastow,适合做视频教程
屏幕实时显示键盘鼠标操作软件keycastow,适合做视频教程 学习了:https://www.52pojie.cn/thread-535154-1-1.html 进行键盘按键的屏幕实时显示:
最新文章
- S.O.L.I.D.类设计原则
- 接口结构_适用于Mac系统的API接口调试应用
- jsonhandle主界面没有显示格式_怎么将图纸导出成图片格式保存
- AndroidStudio中提示:Didn‘t find class “android.support.v7.widget.RecyclerView“
- leetcode刷题之堆
- react大数据量渲染_UseEffect在React中运行无限渲染(超过最大更新深度)
- @RestControllerAdvice与@ControllerAdvice的区别
- CTO 写低级 Bug,致公司 70 GB 数据遭泄露!
- Android 反编译 -smali文件对比java文件
- 数据包络分析--CCR模型
- 互联网晚报 | 06月03日 星期五 | 步步高回应“即将倒闭”传闻、爱彼迎启动房东/房源迁移计划;抖音宣布与中超联赛达成合作...
- 小公司代理记账报税常见问题
- 面试智力题精选:扑克牌问题
- 《当程序员的那些狗日日子》二
- python转html_Python 将文本转换成html的简单示例
- Android开发——查询/杀死手机里正在运行的进程
- 集束搜索算法 beam search
- shell脚本使用教程3
- 什么是OpCode?
- 使用MMD模型通过Kivicube平台制作WebAR与小程序AR