Solr面试回答思路

Solr面试回答思路

  1. 是什么?
    化繁为简的介绍一下这个技术是干嘛的

solr是基于Lucene的,主要用作全文检索。

  1. 同类型技术
    ElasticSearch,这个时候很自然的需要去了解两种技术的简单区别。
    ElasticSearchvs Solr多维度分析对比

  2. 大概介绍介绍?
    最好加入自己的一些心得和总结

2个端(服务端+客户端)
涉及到服务器安装配置和客户端操作。

服务端,安装就是解压一个war包,添加一些jar包,配置scheme.xml

solr的客户端,客户端操作可以用solrj或者spring-data-solr,到时候也可以进行二次封装,也可以不需要,因为都是封装给了service层,controller直接传入对象给service层就可以了。

项目使用spring-data-solor的情况

项目使用solrj的情况

solr的客户端,主要就是学会索引库的操作和各种条件的搜索

索引库的操作
新增、删除、更新

各种条件的搜索
普通域查询
复制域查询
动态域查询
分页查询
分组查询
高亮查询
过滤查询
区间查询
排序查询
4. 具体使用
这里开始再说具体的使用

服务端安装
解压一个solr-4.10.3.war
拷贝example/lib/ext下的日志输出包

配置solrhome
配置(修改schema.xml)

配置中文分词器,IK Analyzer
配置域、复制域、动态域

客户端操作
这里开始再说具体的使用
能记住记过算几个,记不住也正常

a) solrj

关键的几个类
主要是solrServer完成文档操作和搜索
solrServer,SolrInputDocument,SolrQuery,SearchResult

b) spring-data-solr

关键的几个类
主要是SolrTemplate完成文档操作和搜索
SolrTemplate、Query、Criteria

  1. 实际应用场景
    这个是非常重要的,实际项目中用solr完成了什么,也可以优先告知面试官。

  2. 可以拓展拓展
    solr会考虑集群
    solr索引库在商品状态发生改变的时候(审核通过、删除),会通过activeMQ通知更新。
    solr搜索结果,可以通过redis缓存

  3. 表表态
    solr还是不难,自己做搜索没啥问题,大概2、3天就能完成复杂的搜索情况。

你可能感兴趣的:(Solr面试回答思路)