打赏

为什么选择Solr?

 

 

  在大型的SQL数据库上很难执行高速的查询有Solr是Apache 下的一个开源项目,使用Java基于Lucene开发的全文检索服务;

  它是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

 

 

 

  两点原因:

      第一点原因来自SQL数据库在性能上缺乏亮点。基本上,你需要在你的查询中使用JOIN操作。

      第二点原因是文档的天然数据特性:松散的文本文件,这种查询都是需要使用LIKE。然而joins和likes都是性能杀手,在目前的数据库引擎中是不方便的。

    所以,很多时候希望找到一种跟SQL完全不同的数据检索方式:倒排索引。

 

 

    这种数据结构类似与美化过的词典:

      key是单个的term

      values是跟term对应的文档列表

    这种数据方式可以帮助在大型的数据库上面进行高速查询。

posted @ 2017-04-22 14:44  大数据和AI躺过的坑  阅读(1166)  评论(0编辑  收藏  举报