数据的分类

结构化数据

具有固定格式、有限⻓度的数据,一般用关系数据库来处理。

非结构化数据

全⽂数据,⽆固定格式、不定⻓,比如邮件、word⽂档内容。

非结构化数据的2种处理方式

顺序扫描

从前往后依次扫描,效率低下。比如在一篇文章中搜索“java”,会把这篇文章从前往后扫描,标出“java”出现的地方。

全文搜索

从⾮结构化数据中提取关键字,组织为索引。对每一个词都建立一个索引,指明该词在非结构化数据(比如一篇文章)中出现的次数和位置。用户搜索时根据事先建立的索引来查找,将查找结果反馈给用户。检索效率很高。

以上也是全文所搜引擎的原理。

全文搜索的特点|优点

对非结构化数据的搜索支持好。关系型数据库对结构化数据的支持较差。

搜索性能高。在海量数据(GB、TB、PB级别)下,搜索性能极高。面对这种量级的数据,关系型数据库无能为力。

搜索灵活。搜索某个关键字,可以给出相关提示|预选项;会自动纠错,比如关键字打成了javb,会返回java的搜索结果。关系数据库的模糊查询其实是精确匹配的,没有这么智能。

索引维护容易。如果用关系数据库搞全文索引,insert、update都会重新构建索引,不好维护。

以上也是为什么不使用关系数据库做全文检索的原因。

全文搜索的使用场景

存储、检索海量的非结构化文本数据

需要使用交互式的⽂本查询,用户输入部分关键字,会有提供相应的预选项。

需要⾮常灵活的全⽂搜索,用户输入有误也会自动纠错。

对事务安全、写操作、非文本数据操作的需求相对较少。既然是全文搜索,关注的是搜索,注重读,对写操作的支持差一些。

主流的全文搜索引擎

Lucene

Lucene是⼀个Java写的全⽂搜索引擎。Lucene不是⼀个完整的应⽤程序,只是⼀个代码库、API,⽤于向应⽤程序添加搜索功能。

Lucene很强大,但集成使用很复杂,Solr、ES都是基于Lucene的,对Lucene进行了集成、封装,简化了操作。

Solr

十分成熟的一款搜索引擎,提供分布式索引、复制、负载均衡查询以及⾃动故障转移和恢复,⾼可靠、高容错、可扩展、实时索引,常用于企业级应用。

Netflix、eBay、Instagram、亚⻢逊都在使⽤Solr。

ElasticSearch

后起之秀,提供Restful风格的接口,分布式搜索,数据分析、分组、聚合。

维基百科、Stack Overflow、GitHub都在使用ES。

ElasticSearch的使用场景:论坛、电商⽹站、⽇志数据分析等需要站内检索海量纯文本的项目。

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[全文搜索 简介]http://www.zyiz.net/tech/detail-127495.html

Java全文搜索怎么弄的_全文搜索 简介相关推荐

  1. 正在搜索需要的文件_信息搜索课——前五次课心得

    经倩倩老师推荐,我终于找到这个价格合适.干货满满.口碑不错的信息搜索课程.课程的讲授着朱丹老师是信息搜索界的佼佼者,她曾靠着信息搜索在本科期间找到很多兼职翻译机会,写论文时也用它迅速找到自己需要的资料 ...

  2. 广度优先搜索解决欧拉回路时间复杂度_迷宫搜索类的双向bfs问题(例题详解)

    前言 文章若有疏忽还请指正! 更多精彩还请关注公众号:bigsai 头条号:一直码农一直爽 在搜索问题中,以迷宫问题最具有代表性,无论是八皇后的回溯问题,还是dfs找出口,bfs找最短次数等等题目的问 ...

  3. ecshop 搜索热词推荐_多多搜索自定义关键词推广的基础点:如何选对致命的关键词...

    很多商家可能会疑惑我为什么不讲点击率,点击率固然重要,但其实多多搜索是围绕关键词展开的.正所谓万丈高楼平地起,关键词才是多多搜索的基础,没有这个基础,买家都搜不到你,或者搜到了却不是精准人群,点击率也 ...

  4. 百度搜索引擎结果网址参数_反馈搜索结果用时(rsv_sug4)

    百度曾经和谷歌等搜索引擎一样,在搜索结果页面的页眉搜索框下方会显示每次查询反馈用时,为的是比谁的搜索引擎速度更快.后来取消在搜索结果页面显示,以参数 rsv_sug4 代替. [b]百度搜索结果网址参 ...

  5. 百度搜索结果页面的参数_反馈搜索结果用时(rsv_sug4)

    百度曾经和谷歌等搜索引擎一样,在搜索结果页面的页眉搜索框下方会显示每次查询反馈用时,为的是比谁的搜索引擎速度更快.后来取消在搜索结果页面显示,以参数 rsv_sug4 代替. 百度搜索结果网址参数_反 ...

  6. Elasticsearch(三)——Es搜索(简单使用、全文查询、复合查询)、地理位置查询、特殊查询、聚合操作、桶聚合、管道聚合

    Elasticsearch(三)--Es搜索(简单使用.全文查询.复合查询).地理位置查询.特殊查询.聚合操作.桶聚合.管道聚合 一.Es搜索 这里的 Es 数据博主自己上网找的,为了练习 Es 搜索 ...

  7. 计算机网络校园局域网课题,毕业论文基于VLAN技术的校园局域网建设word文档_全文免费在线阅读(推荐阅读)...

    <[毕业论文]基于VLAN技术的校园局域网建设.doc>由会员分享,可免费在线阅读全文,更多与<[毕业论文]基于VLAN技术的校园局域网建设(word文档)_全文免费在线阅读> ...

  8. NET-A-PORTER为何难以模仿?_全文显示_生活福布斯中文网

    NET-A-PORTER为何难以模仿?_全文显示_生活福布斯中文网 NET-A-PORTER为何难以模仿?

  9. java老版手机游戏剑魂_剑魂自动训练第3部分

    java老版手机游戏剑魂 In this article, we will finally put an end to the "Automating Swords & Souls& ...

最新文章

  1. 界面代码ios不响应presentModalViewController界面的处理
  2. [AX]AX2012 使用.NET程序集部署
  3. Android Studio开发入门-引用jar及so文件
  4. python表白源代码-python浪漫表白源码
  5. 一群人花费了四年的时间以NASA的数据巨制“月球”
  6. python如何复制一个变量_Python中变量、赋值、浅拷贝、深拷贝
  7. zabbix自动发现(Discovery)功能使用
  8. 前端内存优化的探索与实践
  9. OpenJudge NOI 1.7 30:字符环
  10. spring-kafka、kafka-client 和springboot的版本对应关系
  11. 备份整合更需要一体机
  12. 关于Excel导入SqlServer报错的解决
  13. linux for java programer
  14. TIBCO Rendezvous
  15. 服务器运维大屏,可视化运维大屏
  16. 科普|股东需要对企业债务承担连带责任
  17. Pembuatan Sistem Registrasi Kamar Hotel Berbasis Website Pada Hotel Graha Prima Pacitan 外文翻译
  18. 邦纳超声波传感器Q45ULIU64BCR
  19. jquery返回上一页,前一页
  20. random.RandomState()用处

热门文章

  1. 如何快速算出一个数有多少个因子(c++)
  2. 学习lua第一步-lua解释器luac.exe
  3. OSI七层模型 (详细讲解,看这一篇就够了)
  4. python钉钉机器人发送excel附件_python 钉钉机器人发送消息
  5. 全局地址池 与接口地址池
  6. 编写一个截取字符串的函数
  7. Java jmap与jcmd命令dump内存heap堆
  8. Java多文件压缩下载解决方案
  9. for update
  10. PyQt5数据库开发2 5.1 QSqlQueryModel