当构建一个Web应用时,经常被要求加上搜索功能.其实有时候我们也不知道我要搜索个啥,反正就是要有这个功能.搜索确实很重要的特性,这也是为什么像Elasticsearch和Solr这样基于Lucene的数据库越来越流行.这两个是好用,但是在构建Web应用时,有时候感觉像是杀鸡用牛刀.所以我们需要选择轻量好用的东西来搜索. 如何定义足够好用? 足够好用的搜索引擎需要有以下几点特征: Stemming 关键词,词干 Ranking/Boost 排名和权重分配 多语言支持 错误纠正/模糊查询 口音支持…