搜索引擎是指根据一定的策略,运用特定的计算机程序从互联网上收集,在对信息进行组织和处理后,为用户提供检索服务,并将检索相关的信息提供给用户的系统。搜索引擎的研究方向包含架构方向(索引、检索),策略方向(排序、查询与结果处理)。本文简要总结了搜索引擎---信息检索实践的阅读笔记和工作中的一些理解。本文的主要目录如下:
一、搜索引擎架构
二、搜索引擎评价标准
三、搜索引擎索引和检索逻辑
四、搜索引擎查询处理
五、搜索引擎排序
六、搜索引擎生态
搜索引擎是一个比较复杂的生态,它还包含搜索热词、智能提示、相关搜索、query改写、意图识别、搜索摘要等模块。
一、搜索引擎架构
二、搜索引擎评价标准
三、搜索索引和检索逻辑
四、搜索引擎查询处理
其实理解用户的查询Query一直是一个困难且复杂的问题。
五、不同搜索引擎对比
1. Sphinx搜素引擎,c++开发,简单高性能。,但检索精准度方面Lucene要优于Sphinx,另外在加入中文分词引擎难度方面,Lucene要优于Sphinx.其中Sphinx支持实时搜索,使用起来比较简单方便.
2. Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构,另外它不支持实时搜索。
3. Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。solr和elasticsearch都是基于Lucene封装。
Lucene | ||
Sphinx | ||
Slor |
参考文献:
1. 携程搜索架构 http://www.infoq.com/cn/presentations/architecture-exploration-travel-industry-vertical-search
2. 搜索引擎---信息检索实践
3. 旅游行业的垂直搜索架构探索:http://www.infoq.com/cn/presentations/architecture-exploration-travel-industry-vertical-search
4. B2B搜索领域的算法挑战: http://www.infoq.com/cn/presentations/b2b-search-field-algorithm-challenges