solr介绍
solr是一个基于lucene开发的全文检索的系统,具体就不再过多介绍了。在学习solr前有几个概念需要掌握。
分词器
将输入的文本根据一定的规则拆分成一个一个的词项,如:“I am a programmer" ,就拆分成“I”、“am”、“a”、“programmer”。 常用的分词器有标准分词器(StandardTokenizer),中文分词器(IKAnalyzer)等。
词项过滤器
词项过滤器就是对分词器结果的一个过滤,如上面的例子当添加了转小写词项过滤器(LowerCaseFilter)后,“I”就会转成 “i”。常用的还有停用词过滤器(StopFilter)、同义词过滤器(SynonymGraphFilter)等。
倒排索引(反向索引)
solr如何能快速根据输入的文本快速搜索到相关的信息,关键在于这倒排索引。什么是倒排索引?他跟数据库中的索引有什么区别呢?
倒排索引就是根据分词器与词项过滤器分出来的词项进行索引。所以规则为:词项 + 内容包含该词项的文档id
内核
内核就是单个solr节点中的一类索引,用于分类索引数据。相当于关系型数据库中的一个表。
集合
集合就是内核的集合,solr集群模式下的称呼。
目录
下面将带读者一步一步的学习solr。