您的位置:首页 > 运维架构 > Linux

solr7搭建搜索服务

2017-12-13 19:56 489 查看
环境要求:jdk1.8,本机使用的是1.8没有试过其它的版本, os:linux
1.下载solr7,地址:http://www.apache.org/dyn/closer.lua/lucene/solr/7.1.0

2.mv到/opt中,解压:tar -zxvf solr-7.1.0.tgz

3.cd到solr-7.1.0/bin中,以单机模式启动,sudo ./solr start -force因为我是root用户启动的所以需要加参数-force

4.打开控制台:http://localhost:8983/

5.这里默认是没有core的,使用命令行新建一个core: sudo ./solr create -c ehu_bbs -force这里的-force是一样的意思,ehu_bbs是core的名字

6.进入/opt/server/solr/ehu_bbs,修改managed-schema添加text_id的field

<fieldType name="text_ik" class="solr.TextField">
  <analyzer type="index" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

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

7.在控制台添加相应的field



---------------------------------------------------------------------------------- 分割线 --------------------------------------------------------------------
同步mysql数据到solr中
1.编辑 conf/solrconfig.xml 文件,加入类库和数据库配置:





2.同时新建数据库连接配置文件 conf/db-mysql-config.xml ,内容如下:



3.将数据库连接组件 mysql-connector-java-5.1.39-bin.jar 放到 lib 目录下,重启 Solr,访问管理后台,执行全量导入数据:

4.目录下创建 lib 目录,将用到的分词插件 ik-analyzer-solr5-5.x.jar 加到 lib ,项目地址https://github.com/EugenePig/ik-analyzer-solr5

5.另外导入数据的时候select post_id, convert(content using utf8) from ehu_bbs.forum_posts;

6.去除html的处理,修改db-mysql-config.xml,entity中添加transformer="HTMLStripTransformer",另外,对需要过滤的字段加上属性:
stripHTML="true",用的是solr自带的过滤器

删除所有数据

curl http://localhost:8983/solr/ehu_bbs/update -H "Content-type: text/xml" --data-binary '<delete><query>*:*</query></delete>'
curl http://localhost:
8983/solr/ehu_bbs/update
-H "Content-type: text/xml" --data-binary '<commit />'


http://www.jianshu.com/p/3d64412f8c40
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  solr 搜索 linux