一、通过数据库检索数据有什么问题(like %)?

 

    1)通过like % 模糊查询会导致当前的搜索变成一个全表扫描,如果数据量巨大,则性能会变的很差,而且索引还没办法对这种查询进行优化。

    2)like % 没办法对结果进行精准定位,只是单纯的将结果按照数据库的顺序显示。

 

二、扫描是全文检索服务器?

 

    全文检索服务主要是用来提供进行大数据的检索查询的功能。本身全文检索会形成一个独立的服务,并且不依赖于数据库。全文检索服务通过独特的搜索方式,提供了高效并且精准的查询服务(TB级数据可以在毫秒级,PB级可以在秒级完成)。

    Lucene - 纯Java实现

    Solr、ES

 

    为什么全文检索服务器可以高效的进行查询?

    全文检索服务Solr

 

三、Solr的安装

 

    全文检索服务Solr

 

    前置环境:

        jdk的安装

        tomcat的安装

       上传solr的压缩包和IK分词器

        全文检索服务Solr

 

    安装Solr索引库(SolrHome):

        解压:tar -zxf solr-4.10.4.tgz

        进入解压文件:cd solr-4.10.4

        将索引库拷贝到一个指定的路径:cp -r ./example/solr /usr/local/solrhome

 

    准备tomcat的solr工程:

        进入指定路径:cd /usr/local/software/solr-4.10.4/dist

 

        将solr.war包拷贝到tomcat的webapps下:

                cp solr-4.10.4.war /usr/local/software/tomcat8.5/webapps/solr.war

 

        在指定的路径下,创建一个classess文件夹:

                cd /usr/local/software/tomcat8.5/webapps/solr/WEB-INF

                mkdir classes

 

        拷贝相关的日志jar包:

                cd /usr/local/software/solr-4.10.4/example/lib/ext

                cp * /usr/local/software/tomcat8.5/webapps/solr/WEB-INF/lib/

    

        拷贝相关的日志配置文件:

                cd /usr/local/software/solr-4.10.4/example/resources

                cp * /usr/local/software/tomcat8.5/webapps/solr/WEB-INF/classes

 

        让tomcat的solr工程和solrhome关联起来:

                cd /usr/local/software/tomcat8.5/webapps/solr/WEB-INF/

                vim web.xml

                全文检索服务Solr

        

        重启tomcat

 

    安装中文分词器

        解压:unzip wltea-IK-Analyzer-2012FF-master.zip

        拷贝jar包和配置文件:

            cd /usr/local/software/IK-Analyzer-2012FF/dist

            cp IKAnalyzer2012FF_u1.jar /usr/local/software/tomcat8.5/webapps/solr/WEB-INF/lib

            cp IKAnalyzer.cfg.xml /usr/local/software/tomcat8.5/webapps/solr/WEB-INF/classes/

        

        在solrhome中配置中文分词器:

            cd /usr/local/solrhome/collection1/conf

            vim schema.xml

            全文检索服务Solr  

            

            在303行,写入:

            <fieldType name="text_ik" class="solr.TextField">

                  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

            </fieldType>

 

        重启tomcat

 

    创建索引库中的字段

 

        创建字段的原则,就是那些需要参与搜索或者显示的字段

        

        修改scheme.xml:

            cd /usr/local/solrhome/collection1/conf

            vim scheme.xml

            全文检索服务Solr

 

        重启tomcat

 

四、SpringBoot整合Solr

 

    1)添加依赖

        全文检索服务Solr

 

    2)配置application.yml

        全文检索服务Solr

 

    3)注入solr对象,操作solr索引库

        全文检索服务Solr

 

 

相关文章: