全文搜索服务器solr
什么是solr?
solr是一个独立的企业级搜索应用服务器,本质是基于Lucene(一个开源的全文检索引擎工具包)的全文搜索服务器。
搜索引擎的原理是倒排索引。
倒排索引的原理,如何建立倒排索引表的。Lucene会先给所有的数据一个文档编号,将所有的内容进行分词操作,然后,将每个分词和对应的文档编号一起存储,最后将相同的分词合并,放入索引库中。当输入关键词进行搜索时,首先会对关键词也进行分词操作,然后将分词和索引库中的分词进行匹配,获取对应的文档编号,根据匹配度对文档进行排序显示。
为什么要使用solr?
原始查询方式一是速度慢,需要从第一个数据一个一个去匹配输入的关键词。二是容错低,当输入的关键词不准确时,就查不出来。当数据越多,访问量越大,查询效率就越低。这时,solr出现了,Solr采用Java开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化。solr还可以通过多样化查询方式来提高容错。