全文搜索引擎的工作原理理论上很简单,关键技术就是“分词”,

  1. “索引库”:使用分词技术把“文档数据”按分词拆分,也就是一个文档拆分为多个分词(一条普通数据拆分为多个词的索引数据)。这个结构就形成了“索引库”,索引库存储的数据就叫索引(索引数据)(所以当普通数据发生变化的时候,与之所对应的索引也要变化,这里就涉及到自动实时更新索引,自动定时更新索引,还是手动更新索引,还有是增量更新索引,还是完全重建索引)。
  2. 用户输入搜索关键字后,首先需要处理的是这个关键字,需要把这个关键字拆分,拆分的技术还是使用分词拆分,把搜索关键字拆分成一个或者多个有意义的字词。
  3. 然后用这些字词去“索引库”中查询,此时的like其实是变成等于操作,然后返回结果。说白了全文搜索就是通过对内容分词把like变成等,当然数据的存储结构一般为非结构型数据文档结构。

文本数据:Lucene.Net只能对文本信息进行检索,所以非文本信息要么转换成为文本信息,要么你就死了这条心吧!

  分词算法:将一句完整的话分解成若干词汇的算法  常见的一元分词(Lucene.Net内置就是一元分词,效率高,契合度低),二元分词,基于词库的分词算法(契合度高,效率低)...

  切词:将一句完整的话,按分词算法切成若干词语

  比如:"不是所有痞子都叫一毛" 这句话,如果根据一元分词算法则被切成: 不 是 所 有 痞 子 都 叫 一 毛

如果二元分词算法则切成: 不是 是所 所有 有痞 痞子 子都 都叫 叫一  一毛

如果基于词库的算法有可能:不是 所有 痞子 都叫 一毛 具体看词库

  索引库:就是存储索引数据的库,简单的理解成一个提供了全文检索功能的数据库(把需要全文检索的数据存入索引库),见下图所示:

全文搜索引擎,索引库相关推荐

  1. [数据统计]百度在调低索引库的容量

    [数据统计]:百度在调低索引库的容量 宇宙在膨胀,搜索引擎索引库也是---题记 如何监测搜索引擎索引库的膨胀率是我最近关心的一个问题.随着网络的深入应用,越来越多的资料被放到了网络上:搜索引擎会对公开 ...

  2. 一个基于EntityFrameworkCore+Lucene实现的全文搜索引擎库

    一说到全文搜索,大家都可能会想到ES中间件,毕竟ES非常强大.对于复杂全文搜索场景ES非常好用,但是对于一些简单业务场景的,比如实现通过关键字检索文章,使用ES就显得比较重.今天就给大家推荐一个基于E ...

  3. Elasticsearch——分布式搜索引擎01(索引库、文档、RestAPI、RestClient、拼音分词器、IK分词器)

    Elasticsearch--分布式搜索引擎01(索引库.文档.RestAPI.RestClient.拼音分词器.IK分词器) 一.初识 elesticsearch 1.1 简介 1.2 倒排索引(重 ...

  4. 微服务03 分布式搜索引擎 elasticsearch ELK kibana RestAPI 索引库 DSL查询 RestClient 黑马旅游

    分布式搜索引擎01 -- elasticsearch基础 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 elasticsearch是 ...

  5. 分布式搜索引擎01-elasticsearch-介绍、倒排索引原理、概念(文档和字段,索引和映射)、安装、索引库crud、文档crud、RestAPI(java代码实现es的crud)

    文章目录 分布式搜索引擎01 0.学习目标 1.初识elasticsearch 1.1.了解ES 1.1.1.elasticsearch的作用 1.1.2.ELK技术栈 1.1.3.elasticse ...

  6. 全文搜索引擎Elasticsearch,这篇文章给讲透了

    之前已经分享过Elasticsearch的使用和原理的知识,由于近期在公司内部做了一次分享,所以本篇主要是基于之前的博文的一个总结,希望通过这篇文章能让读者大致了解Elasticsearch是做什么的 ...

  7. 全文搜索引擎有哪些?_搜索引擎工作原理是什么?seo蜘蛛抓取会受到哪些因素影响?...

    seo优化就是搜索引擎优化,就是对网站进行各方面调整,使其更符合搜索引擎的算法要求,从而得到更多的流量及转化,所以做seo必须要多搜索引擎有更多的认识和了解.搜索引擎有哪些功能模块?它的工作原理是什么 ...

  8. 全文搜索引擎 Elasticsearch 简介 及其与 Python 的对接实现

    什么是 Elasticsearch 想查数据就免不了搜索,搜索就离不开搜索引擎,百度.谷歌都是一个非常庞大复杂的搜索引擎,他们几乎索引了互联网上开放的所有网页和数据.然而对于我们自己的业务数据来说,肯 ...

  9. 全文搜索引擎选 ElasticSearch 还是 Solr

    点击蓝色"程序猿DD"关注我哟 加个"星标",不忘签到哦 来源:http://t.cn/Ebgm7sn 最近项目组安排了一个任务,项目中用到了全文搜索,基于全文 ...

最新文章

  1. 用Python拨打电话
  2. 深度丨AI挑战人类情感!机器人写诗出书背后透露了什么?
  3. php和python对比-通过PHP与Python代码对比浅析语法差异
  4. python内置数字类型转换函数_Python学习 Day2-2 Python3的基本数据类型、数据内置类型转换函数...
  5. 中年架构师的20个小时,全靠忍!
  6. 5分钟用Spring4 搭建一个REST WebService(转)
  7. C++ const vector的迭代器
  8. javascript Array类型 方法大全
  9. oracle sequence的用法
  10. Nginx ~模块详解~
  11. Remoting事件序列一:客户端触发服务器端事件
  12. 去银行写代码是种什么体验?
  13. 微信公众号内嵌H5网页授权步骤
  14. nginx报502错误
  15. java通过qq邮箱发送_java通过qq邮箱发送邮件
  16. aws mysql 无法访问_Amazon RDS
  17. 【最优化笔记4】线性规划--对偶理论
  18. 第54届超算TOP500排名,中美各自以数量和性能领先
  19. python中累加函数_对Python实现累加函数的方法详解
  20. 批量打印电子发票方法,发票连续打印教程分享

热门文章

  1. python生产环境部署
  2. 形象理解线性代数(三)——列空间、零空间(核)、值域、特征值(特征向量)、矩阵与空间变换、矩阵的秩
  3. css如何修改滚动条样式
  4. 1 网站压力测试工具 WEB性能测试 Web Bench
  5. iOS面试题汇总(一)
  6. 成电计算机考研专业课,2020成电软件工程考研经验贴
  7. flac格式音频转wav|Linux 使用 Shell 循环遍历文件夹里的音频——简介
  8. Arduino与Proteus仿真实例-电子相册仿真
  9. 2022.02.09_Java学习总结_网络编程、正则表达式
  10. 数字图像处理(冈萨雷斯)学习 第3章 灰度变换与空间滤波