我们正处于一个信息过载的时代,有用的信息、无用的信息夹杂在一起。
我们有从海量信息中获取数据的诉求,搜索和推荐就是两个有效的工具。
ChatGPT本质上说是一种更加高效准确的获取信息的渠道,至少对于我来说,有效减少了从传统搜索引擎众多结果中过滤有效信息的成本。
曾几何时,搜索引擎也是技术壁垒较深的一个领域,像谷歌、百度等老牌网页搜索引擎公司,就靠着搜索和广告赚得盆满钵满。
时间拉到现在,各类app层出不穷,搜索不再均限于网页,更多的是app内的垂直领域检索,像小红书、知乎、淘宝、拼多多都是如此。
再具体到一些我们日常的业务场景,也同样有检索诉求:筛选检索和模糊检索。
以常用的找房app为例,可以输入商圈名称、小区名称,当然这些都不需要非常具体,检索框就可以进行提示,同时还可以根据具体的条件做筛选,比如面积、朝向、总价等。
这些都可以用es来实现,再有上层的排序逻辑,基本上就可以实现面向用户的检索功能了。
在聊es之前,就必须要提lucene,如果把es看做是豪车,lucene则是这辆豪车的发动机,真可谓是es的核心部件。
Luene是一款高性能、可扩展的信息检索库,用于完成文档元信息、文档内容等搜索功能。
用户可以使用Lucene来快速构建搜索服务,如文件搜索、网页搜索等,它是一个索引和搜索库,不包含爬取和HTML解析功能。
1985年 Doug Cutting毕业于美国斯坦福大学,在1999年编写了Lucene,他是一位资深的全文索引及检索专家,曾经是V-Twin搜索引擎的主要开发者,后来在Excite担任高级系统架构设计师,目前从事于一些互联网底层架构的研究。
值得一提的是,Doug Cutting还是大名鼎鼎的Hadoop之父,大牛果然是高产。