美文网首页面试
JavaEE-面试-Solr面试回答思路

JavaEE-面试-Solr面试回答思路

作者: 739c8d412b4c | 来源:发表于2018-04-12 15:45 被阅读283次

    帮同学们梳理下Solr面试回答思路。任何知识点的回答、梳理都是类似的。希望同学们举一反三。

    1. 是什么?

    化繁为简的介绍一下这个技术是干嘛的

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

    2. 同类型技术

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

    3. 大概介绍介绍?

    最好加入自己的一些心得和总结

    2个端(服务端+客户端)

    涉及到服务器安装配置客户端操作

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

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

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


    项目使用solrj的情况

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

    索引库的操作

    新增、删除、更新

    各种条件的搜索

    1. 普通域查询
    2. 复制域查询
    3. 动态域查询
    4. 分页查询
    5. 分组查询
    6. 高亮查询
    7. 过滤查询
    8. 区间查询
    9. 排序查询

    4. 具体使用

    这里开始再说具体的使用

    服务端安装

    • 解压一个solr-4.10.3.war
    • 拷贝example/lib/ext下的日志输出包
    • 配置solrhome

    配置(修改schema.xml)

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

    客户端操作

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

    a) solrj

    关键的几个类
    主要是solrServer完成文档操作和搜索
    solrServerSolrInputDocumentSolrQuerySearchResult

    b) spring-data-solr

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

    5. 实际应用场景

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

    6. 可以拓展拓展

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

    7. 表表态

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

    相关文章

      网友评论

        本文标题:JavaEE-面试-Solr面试回答思路

        本文链接:https://www.haomeiwen.com/subject/hzxfkftx.html