linux下solr7.5的安装与中文分词

solr的安装

  首先要保证我们的服务器是有java环境,这里我用的是jdk1.8,为了方便我们直接从官网下载最新的solr7.5

  wget http://mirrors.hust.edu.cn/apache/lucene/solr/7.5.0/solr-7.5.0.tgz

  下载完成之后进行解压 tar -zxvf solr-7.5.0.tgz,如果一切顺利的话我们会在目录下看到我们的solr目录

  完成之后进入solr目录的bin下,
cd solr-7.5.0/bin/ 尝试使用命令启动./solr start 会发现启动失败

  这是因为使用的是root用户所以提示我们要加一个强制启动的参数,那么我们接受它的建议重新启动,输入命令./solr start -force ,当看到下面的输出的时候就说明我们启动成功了,这里我们使用的是它默认的端口,我们也可以加上-p参数来使用其它的端口,例如./solr start -force -p 8982

  接下来我们就可以去浏览器输入我们的ip+端口号就可以访问了

  现在建立第一个Core,点击Core Admin,输入name和instanceDir会发现报错了,错误如下

  solr 需要我们自己将配置文件放到我们新建的Core下,官方提供的配置文件在 solr-7.5.0/server/solr/configsets/_default下,将该目录下的conf文件夹放到复制到我们新建的Core(test)下,上图所示的test目录在solr-7.5.0/server/solr/test,复制过去后,我们再去界面是新建一个test的Core就可以创建成功了

数据的导入

  这里我们要做的是将mysql表中的数据导入solr中,我们这里用的是最原始的方法,在solr-7.5.0/server/solr/test/conf下新建一个data.xml,里面内容如下

<dataConfig>   
 <dataSource type="JdbcDataSource"   
             driver="com.mysql.jdbc.Driver"   
             url="这里是数据库的连接地址"   
             user="root"   
             password="root"/>   
    <document>
        <entity name="user" query="SELECT * from user" > #name后面的是表的名字
                <field column="name" name="name"/>  #column是表中的字段,name是在solr中的一个唯一标识
        </entity>
     </document>
</dataConfig>

  修改solrconfig.xml,在<requestHandler>同级将上面我们新建的配置文件引入

 <requestHandler name="/dataimport" class="solr.DataImportHandler">
      <lst name="defaults">
        <str name="config">data.xml</str>
      </lst>
</requestHandler>

  修改managed-schema文件,将上面在data.xml的sql中引入的属性加入<schema name=“default-config” version=“1.6”>下,配置如下

<field name="name" type="string" indexed="true" stored="true">

  需要引入3个jar包,其中2个jar包在solr目录下的dist中有(solr-7.5.0/dist下)

  另外我们还需要一个mysql连接的jar包,这里我使用的是 mysql-connector-java-8.0.11.jar
提供一个maven仓库的下载连接 http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
  将上面的3个jar包全部放入solr-7.5.0/server/solr-webapp/webapp/WEB-INF/lib下,
  这时候我们回到我们的bin目录下重启我们的服务 ./solr restart -force
  回到我们的界面,点击dataImport中的execute将我们的数据导入
  在界面上看到这样的就说明我们导入成功了


  最后点击Query栏下的查询就能看到我们插入的数据了,结果如下图

中文分词


  首先下载ik分词,这里提供一个网址 https://search.maven.org/search?q=g:com.github.magese
下载jar包(ik-analyzer-7.5.0.jar)到我们上文提到的WEB-INF/lib下.

  然后切换到solr-7.5.0/server/solr/test/conf目录下,接着修改我们的managed-schema文件,增加如下的代码并修改我们之前添加的的filed的type属性

  <!-- ik分词器 -->
  <fieldType name="text_ik" class="solr.TextField">
    <analyzer type="index">
        <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
        <filter class="solr.LowerCaseFilterFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
        <filter class="solr.LowerCaseFilterFactory"/>
</analyzer> 
  </fieldType>  
 <field name="name" type="text_ik" indexed="true" stored="true"/>

  最后重启solr服务!!到这里我们的solr就安装就完成了.

没有更多推荐了,返回首页