搜索在计算机中的地位十分重要

无论是在内部系统还是在外部的互联网站上,都少不了检索系统。数据是为了用户而服务。计算机在采集数据,处理数据,存储数据之后,各种客户端的操作pc机或者是移动嵌入式设备都可以很好的获取数据,得到 想要的数据服务。


检索分为SQL过滤查询和全文检索。数据都是放在数据库里,数据库里的数据量太大,要检索到精准的数据是需要很好的用户体验。用户对响应时长要求特别严格,最好控制在一定的响应时间内。SQL查询是普通的字段过滤,一般在没有走全表扫描的情况下都是性能较好的数据查询方式。全文检索的实现方式是在数据库设计的时候就有这些模块,比如MySQL的全文检索。之后在市面上有公司开发了成型的开源产品,比如Lucene等。    学过luncene框架,  能就是论事。在银行工作的时候有接触过es框架,到现在也没仔细去弄懂。每个人的学习能力不一样,有的工程师削尖了脑袋要去专研每个技术。    是在学习Java开发框架的时候接触过Lucene框架, 跟着源码敲了一遍那个搜索引擎。对于那种根据分词查询数据的方式有深刻的映像,但是并不是每个系统都是要使用全文检索分词搜索。


按需开发,意思就是根据需求进行商业开发。以用户体验为中心,金钱盈利为目的。没有谁在为做无用功,得到与失去,不要去说,也说不准。像普通的字段搜索看起来十分简单,其实就是很简单。但是如果遇到数据量大的情况,或者是用户不会使用系统的情况下,都是有问题的。像百度,Google,搜什么就有什么,这就是全文检索。


搜索,依赖于搜索引擎。搜索引擎的建立是十分困难的事情。以  现在的水平理解的搜索,  能说个大概。  做Java

6年时间,虽然没有写过搜索引擎,但是没有经验的同学可以去尝试着实践下。做任何系统都是需要构建bs架构或者是cs架构,cs架构是client-server架构。


在操作系统中有客户端软件开发包,bs架构是broswer-server架构,在所有的数据操作都是在浏览器中实现,把浏览器当做一个子系统,子系统上面又有很多应用程序... bs架构是特殊的cs架构。


在大学学习计算机编程开发,首选的语言是C++。那种语言是写客户端软件, 也是学的很纠结,以为没有很好的效果。大三休学的时候学习了Java,接触全文检索,学习了前端页面的设计开发,后台数据库的建立。到现在有更多的想法和思考。爬虫的建立,爬虫是怎么从网站上爬数据,用户是怎么在网站上面搜索数据。


大学毕业之后对于搜索引擎的理解画了个草图


像  爬虫



一般的java IDE的debug是这样设计




爬虫是怎么在网站上爬数据,为什么  能爬网站的数据。现在的web浏览器都支持HTML标签编辑的网页,HTML标签页是dom元素。每个DOM元素都是一个实体对象,在数据库中体现的就是dom元素实体对象表。Dom元素表里存放的就是网页标签所承载的基础数据和一些基本属性。每当一个网站上面的标签包裹的数据发生变化,就要触发数据写write事件,即 WriteEventListener,更新索引库里的索引数据,和文档库里的文档数据。这种数据更新同步方式叫做即时同步方式,是的数据库里的数据和索引库里的数据保持一致性。用户查询数据的时候总能查到最新的数据,用户查数据都是走索引库再走文档库,这样性能更好。


至于怎么构建dom元素数据库,怎么构建dom元素索引库。那些都是商业库,需要开发注册维护,就像   在某个地方开商店一样,需要办理很多手续。


当时学习操作lucene 框架架构方式是通过AOP的方式实现数据同步。数据同步是文档库和索引库的同步操作方式。文档库存放的是Document 文档对象,索引库存放的是字段对象 Field 。字段对象分为索引文档号和经历过分词器分词之后的关键字集合。中文分词器是Analyzer 堆中文的语句进行分词。


中文的分词器对中文语句的此法进行分析。中文的语句分为主+谓+宾+定+状+补 . 分词器分为标准的国际分词器和中国大陆简体的中文分词器。原理十分相似,实词和虚词需要区分。实词是名词,虚词是冠词,语气词,称谓词,形容词,状态词,补语词,谓语词。分词器分析网站上面的文章关键字,中文摘要,具体的文章正文内容。分词器的分词结果生成关键字和文档索引组装成的字段 Field对象。字段对象集合 fieldList 放在lucene 索引库中。文档库中存放大量的文档对象,文档Document 与 字段 Field 对象的索引表中的文档索引关联。


用户在前端使用日用语句在lucene搜索引擎中搜索数据集合的过程十分复杂。简单的过程可以分为

查询语句词的录入接收。

后台对中文查询语句分词,抽取关键字形成关键字集合。

使用关键字集合在lucene索引库 中的关键字进行匹配,匹配成功会有文档集合 documentList 。

文档集合返回给业务逻辑层service . 使用高亮器hlighter 对文档中的存在的关键词高亮。

文档集合的返回通过评分对象score 综合得分排序。

命中文档的得分 score 有默认的得分规则和自定义得分规则。


数据同步在企业项目中使用很多。平安集团的hrx人力资源管理系统使用Elasticsearch 搜索引擎搜索数据。Lucene 和 Elasticsearch 两种引擎搜索数据的方式都是全文检索。全文检索在数据库软件中普遍存在。企业的IDE 开发环境有搜索框的地方或许会有全文检索的影子。软件和应用程序系统都有数据。检索方式分为通过表单的方式和一个表单输入框的方式。一个表单输入框的输入方式面向的用户是大众化的互联网网名。Java 的web信息系统安全新能和开发维护团队有保障,使用sql 查询语句查找数据的方式限制用户量。内部系统的用户量分为内部用户和外围用户。使用sql查询语句查询数据使用全文检索索引库和文档库。数据查询是否全表还是走索引表有用户自定义,系统默认,AI 算法相应的操作模式。


数据同步索引库和文档库中的数据。同步平安银行ES库和PJ 库中的数据。开发任务涉及到项目不同版本发布的同步数据代码。数据量大小和性能问题对于开发工程师是更高级别的操作。保证数据的正确性,代码的质量高低。项目组之间的工程师都会相互借阅不同开发分支的代码。每个开发都会有不同的编写代码的方式。


Elasticsearch 搜索原理和Lucene 类似。每个企业采用的技术架构选型不尽相同。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容