中文分词介绍
  众所周知,英语是基于单词的,单词和单词之间用空格隔开,而中文是基于单词的。句子中的所有单词都可以连接起来以描述含义。例如,英文句子“我是学生”将用中文表示“我是学生”。计算机可以很容易地通过空间知道学生是一个单词,但是不能轻易地理解“学习”和“生”这两个单词共同代表一个单词。将汉字序列划分为有意义的单词就是中文分词,有些人也将其称为切词。我是一名学生,并且分词的结果是:我是一名学生。
  应用场景
  例如,我们要在内容字段中搜索具有“中文分词搜索功能”的文章。如果使用“喜欢”查询,则可以匹配以下内容:
  喜欢“中文分%”
  喜欢’%中文分词搜索功能%’
  如“分词搜索功能%”
  如果输入“中文搜索功能”,则无法匹配相应的文章。此时,您必须使用中文分词搜索功能。分词搜索的原理是按关键字分割内容。上段可以分为“中文”,“分词”,“搜索”,“功能”,然后将这些关键字和内容与索引和查询结果相关联。
  扩展安装
  pdo_sqlite
  sqlite3
  mbstring
  LaravelScoutTNTSearch驱动程序,用于提取中文分词
  作曲家需要vanry/laravel-scout-tntsearch
  发布侦查配置文件,如果安装了侦查,则可以省略。
  phpartisanvendor:publish–provider=“Laravel\Scout\ScoutServiceProvider”
  发布tntsearch配置文件。
  phpartisanvendor:publish–provider=“Vanry\Scout\TNTSearchScoutServiceProvider”
  添加config/app.php的提供程序
  //TNTSearch全文搜索
  Laravel\Scout\ScoutServiceProvider::class,
  Vanry\Scout\TNTSearchScoutServiceProvider::class,
  安装口吃分词
  jieba是口吃分词的python版本的php实现。它具有最佳的分词效果,尤其是对于新单词发现。缺点是性能差和占用大量内存。
  作曲者需要fukuball/jieba-php
  .env文件添加以下配置
  SCOUT_DRIVER=tntsearch
  #捷霸
  TNTSEARCH_TOKENIZER=杰坝
  修改模型
  我们在文章表中使用分词搜索,然后对标题和内容字段进行操作。
  <?php
  useLaravel\Scout\Searchable;
  //…
  classArticleextendsModel
  {
  useSearchable;
  /**
  *说明:索引字段
  *用户:Vijay<https://zzzjtd.com>
  *日期:2020/07/31
  *时间:10:36
  *@返回数组
  */
  公共功能toSearchableArray()
  {
  返回[
  ‘id’=>this−>id,′title′=>this->id,   'title'=>this−>id,  ′title′=>this->title,
  ‘content’=>strip_tags($this->content),
  ];
  }
  //…
  使用jieba分词可能会导致内存分配错误消息不足:
  PHP致命错误:耗尽了134217728字节的允许内存大小(尝试分配20480字节)
  修改/app/Providers/AppServiceProvider.php文件
  publicfunctionboot()
  {
  //…
  //增加内存以防止中文分词错误
  ini_set(‘memory_limit’,“256M”);
  }
  产生索引
  phpartisanscout:导入“App\Models\Article”
  #tntsearch命令,性能更好
  //phpartisantntsearch:import’App\Post’

PHP 实现中文分词搜索功能相关推荐

  1. php 搜索引擎 分词_PHP 实现中文分词搜索功能

    中文分词介绍 众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位,句子中所有的字连起来才能描述一个意思.例如,英文句子I am a student,用中文则为:"我是一 ...

  2. Clucene实现中文分词搜索(转载)

    最近,一阵忙乎,终于在Clucene(版本0.9.16)中实现了中文分词搜索. 一些需要改动的地方如下:                     一. 把项目设置为Use Unicode Charac ...

  3. php scws 获取分词结果,php实现scws中文分词搜索的方法

    本文实例讲述了php实现scws中文分词搜索的方法.分享给大家供大家参考,具体如下: 1.4个文件(本站下载地址.)解压后,放到一个地方 eg:E:/wamp/scws 2.php.ini 中配置 e ...

  4. mysql 中文分词搜索_php中文分词搜索

    本篇文章主要介绍php中文分词搜索,感兴趣的朋友参考下,希望对大家有所帮助. 1.4个文件(本站下载地址.)解压后,放到一个地方 eg:E:/wamp/scws 2.php.ini 中配置 exten ...

  5. java之全文索引搜索lucene之增删改查文档与中文分词搜索

    java之全文索引搜索lucene之增删改查文档与中文分词搜索 接上文,接下来介绍一个lucene的各种query,然后介绍一下中文全文索引搜索. 对于各种query,我就直接上代码了,具体的话,我已 ...

  6. 一行命令让ElasticSearch支持中文分词搜索

    相信大家在开发博客,在线商城的时候会涉及到搜索功能.而近几年火起来的 ElasticSearch(ES)凭借其稳定.可靠.快速的实时搜索普遍受到大家的好评,连 Github.SoundCloud 也都 ...

  7. SCWS中文分词,功能函数实例应用

    结合前文的demo演示,现写一个实用的功能函数,使用方法: header('Content-Type:text/html;charset=UTF-8'); $text        = '我是一个中国 ...

  8. Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(三)

    上一篇地址:https://blog.csdn.net/huangfenhu/article/details/94009241 创建一个文章表和文章模型: php artisan make:model ...

  9. Laravel5.4中文分词搜索-使用 Laravel Scout,Elasticsearch,ik 分词(一)

    elasticsearch需要的环境搭建 简介: 使用elasticsearch的前提是你的主机必须安装了java的JDK,而且版本必须是1.8以上,并设置JAVA_HOME环境变量 java的jdk ...

最新文章

  1. Swift中编写单例的正确方式
  2. 【c语言】2020蓝桥杯校内模拟赛c组
  3. Leetcode: Implement strStr()
  4. ASIHTTPRequest取消异步请求
  5. 基于机器学习的捡球机器人设计与实现(探索)第3篇——opencv基础知识学习(2019-02-02)
  6. win7 64位 内核安全_Win7进入死亡倒计时,全国一半电脑要遭殃?
  7. Rainmeter雨滴桌面秀教程
  8. c 语言 输入一个英文字母,判断该字母是大写还是小写,c语言从键盘输入一个字符,判断该字符是大写英文字母.小写英文字母还是数字....
  9. 计算机自检报错无法开机,BIOS维修网站www.biosrepair.com-开机自检BIOS错误代码解析...
  10. 瀚高数据库和mysql区别,瀚高数据库----select用法
  11. 文献解读——基于深度学习的病毒宿主预测
  12. python数字及字母的分离_Python 分割文本使得 字母和数字 分开?
  13. K8S—二进制部署安装(包含UI界面设置)
  14. 电脑显示没有wifi连接到服务器地址,WIFI无ip分配怎么解决
  15. 华视100UC 身份证阅读器 Java
  16. 找到了!宝藏公众号合集,新媒体运营小白必须学习
  17. 笔记-自媒体技术与软文写作
  18. Java变成笔记4:复用类
  19. Elasticsearch分词器介绍
  20. 1368: 海军节上的鸣炮声计算

热门文章

  1. 角度转度分秒lisp函数_自改小程序,提示错误,运行另一个lisp后就不会出错,求帮忙!...
  2. About Spreadsheets
  3. 评价页面html代码,HTML5 评论列表界面模板
  4. C++ 之 for 循环 | C++11 for 循环 | 内存 Destory 示例
  5. python教程99--控制鼠标键盘模块 pyautogui
  6. 数据可视化_EChat
  7. 鸿湖万联与龙芯中科共建“芯片+操作系统”全自主产业生态链
  8. python聊天小程序支持私聊和多人_Python实现多人在线匿名聊天的小程序
  9. 多搜 - 多个网站一起搜 (舆情监控版)
  10. 用 Uno Platform 构建一个 Kanban-style Todo App