elasticsearch 模糊查询不分词,实现 mysql like

news/2024/11/27 8:45:28/

一、分词

我们可以先来看下啥叫分词,在es中,分词会对关键词进行一个或者几个分隔,比如输入了 隔壁小白,则会查询到 隔壁、小、白、隔、小壁等关键词有关的文档数据。

而使用过mysql的模糊查询的童鞋们,应该都知道,输入了 隔壁小白,则只会出现 隔壁小白123、321淘宝了压抑122、22445淘宝了压抑等相关的数据。它不会对其中的关键词进行分割

二、不分词使用

es对于不分词,其实主要是 match_phrase的使用。我们平时比较多是使用match,这个是会进行分词的


三、先看下使用match 查询结果  

   [6] => Array([_index] => testindex[_type] => testtype[_id] => P3QqTHcBSzBd54DbdZMl[_score] => 3.9861763[_source] => Array([product_name] => 1016隔壁小白287[rand] => 5082))[7] => Array([_index] => testindex[_type] => testtype[_id] => Q3QqTHcBSzBd54DbepOG[_score] => 3.9861763[_source] => Array([product_name] => 504隔壁小白1030[rand] => 5275))[8] => Array([_index] => testindex[_type] => testtype[_id] => s3QrTHcBSzBd54DbDZPS[_score] => 3.9861763[_source] => Array([product_name] => 801隔壁小白15[rand] => 4342))[9] => Array([_index] => testindex[_type] => testtype[_id] => enQqTHcBSzBd54Dbs5PF[_score] => 3.807864[_source] => Array([product_name] => 162隔1壁2小3白4157[rand] => 5552))

由此可见搜索 “隔壁小白”  结果出现  “162隔1壁2小3白4157”  “504隔壁小白1030”  

四、使用 match_phrase  进行检索结果如下  

 ([0] => Array([_index] => testindex[_type] => testtype[_id] => PnQqTHcBSzBd54Dbc5PD[_score] => 7.4503546[_source] => Array([product_name] => 579隔壁小白891[rand] => 6165))[1] => Array([_index] => testindex[_type] => testtype[_id] => QnQqTHcBSzBd54DbeZOu[_score] => 7.4503546[_source] => Array([product_name] => 928隔壁小白637[rand] => 9975))[2] => Array([_index] => testindex[_type] => testtype[_id] => PHQqTHcBSzBd54DbbZNd[_score] => 4.6551437[_source] => Array([product_name] => 77隔壁小白1106[rand] => 2949)))

 

 


http://www.ppmy.cn/news/117144.html

相关文章

1553B技术

1553B方案的验证,1553B作为该系统的难点,存在一定风险。按照DCC公司提供的BU-64843的数据手册绘制出此模块的原理图。该芯片在国内有不少厂家在做,例如中电58所,北京微电子技术研究所,湖南毂梁微电子等都有量产产品&am…

惠普HP Deskjet 5552 打印机驱动

惠普HP Deskjet 5552 打印机驱动是官方提供的一款打印机驱动,本站收集提供高速下载,用于解决打印机与电脑连接不了,无法正常使用的问题,本动适用于:Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作系统。…

【GD32F427开发板试用】04使用SPI与32位ADC(CS5552)通讯采集数据

本篇文章来自极术社区与兆易创新组织的GD32F427开发板评测活动,更多开发板试用活动请关注极术社区网站。作者:汪阳 CS5552 为一款 SPI 接口的双信道、32 位高精度 ADC 芯片,内置 1~128 倍可程序设计的低噪声仪表放大器、高精度 Sigma-Delta A…

windows 下使用arthas

工具版本:arthas-packaging-3.0.4-bin 使用步骤: (1) 打开cmd as.bat [进程号] 如 as.bat 5552 (2)拷贝需要分析的方法 copy refrence, 注意最后的 方法名和类名之间的连接符 可能为#,改为 空…

转载:ultraiso制作超过4G的系统U盘启动盘教程

转载自:http://www.winwin7.com/JC/5552.html ultraiso也算是老牌的光盘镜像工具了,使用ultraiso来制作U盘启动盘非常简单,在之前的《UltraISO制作U盘启动盘》中就有分享,不过鉴于很多朋友反馈4G以上的系统ISO镜像文件无法制作成…

bat添加到windows服务

1、 编写bat脚本 ::注释 echo off ::显示当前日期时间 echo %data% %time%::切换到指定的VUE服务器工作路径 cd /d e:\ColleagueFiles\pvGrid_nanRui_demo::执行vue服务启动命令::前提条件:::1、npm install 完成::2、npm run dev 可以正常启动服务::3、指定网站可…

SQL 连接 表,取副表的第一条数据

两个表是一(A表)对多(B表)的关系,join的时候,B表只对应显示第一条数据(某些条件)。sql该如何写? 表A Aid title days 1 清远二天游 2 2 东莞一天游 1 3 深圳小梅沙二天 2表BBid …

5545

题意 对于每组数据有n&#xff08;1e5&#xff09;个村庄&#xff0c;m&#xff08;1e5&#xff09;个战场 对于村庄i&#xff0c;曹操可以选择支付c[i]*num元&#xff0c;&#xff08;0<c[i]<1e5&#xff09;使得这个村庄派出num个士兵&#xff0c;在战场x[i]为曹操作战…