文档章节

solr 安装

茅茹
 茅茹
发布于 2016/07/14 16:10
字数 1254
阅读 13
收藏 0

1.  下载 solr

 1.1 地址:http://archive.apache.org/dist/lucene/solr/ 找到你需要的版本

注: 本文以5.5.2 版本为例

1.2 安装jdk 1.7 +

1.3 安装 tomcat7 + 注:本文安装目录为 D:\tomcat-solr\tomcat-8

2  解压solr-5.5.2.zip 到任意文件夹(本文为  D:\solr-5.5.2 )

 

2.1  将 D:\solr-5.5.2\server\solr-webapp 文件夹 webapp将其拷贝到D:\tomcat-solr\tomcat-8\webapps 目录下面 并修改名称为solr

2.2  将D:\solr-5.5.2\server 文件夹下面 slor文件夹拷贝到  D:\tomcat-solr(是为了便于管理)

2.3  修改配置文件 打开文件 D:\tomcat-solr\tomcat-8\webapps\solr\WEB-INF\web.xml

将 <env-entry>  修改为下图图


<!-- People who want to hardcode their "Solr Home" directly into the

       WAR File can set the JNDI property here...

-->

    <env-entry>

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>D:\tomcat-solr\solr</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

    </env-entry>

2.4 将D:\solr-5.5.2\server\lib\ext 目录下面所有的jar 拷贝到D:\tomcat-solr\tomcat-8\webapps\solr\WEB-INF\lib

2.5 将D:\solr-5.5.2\dist目录下面的solr-dataimporthandler-5.5.2.jar,solr-dataimporthandler-extras-5.5.2.jar 拷贝到 D:\tomcat-solr\tomcat-8\webapps\solr\WEB-INF\lib里面

2.6 将D:\solr-5.5.2\server\resources\ log4j.properties  拷贝到D:\tomcat-solr\tomcat-8\webapps\solr\WEB-INF\classes ( classes 没有可以新建一个)

3.0 启动tomcat  。

访问 http://localhost:8080/solr/admin.html#/

说明搭建成功

3.配置中文分词器  一个事jk分词器  另外一个事基于中科院的:smartcn

那么先来配置  smartcn  该中文分词器在solr 中已经包含此包

3.0 在D:\tomcat-solr\solr\目录下面建立文件夹ins  名称随意

在int目录下面建立 data, core文件夹

3.0.1 将 D:\solr-5.5.2\example\example-DIH\solr\solr目录下所有文件拷贝到D:\tomcat-solr\solr\int目录下

3.1 将D:\solr-5.5.2\contrib\analysis-extras\lucene-libs 目录下面

lucene-analyzers-smartcn-5.5.2.jar 复制到D:\tomcat-solr\tomcat-8\webapps\solr\WEB-INF\lib目录

3.2 打开D:\tomcat-solr\solr\ins\conf\managed-schema文件 增加

<field name="text_smart" type="text_smart" indexed="true" stored="true" multiValued="true"/>
<fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100">
   <analyzer type="index">
      <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
      <filter class="solr.SmartChineseWordTokenFilterFactory"/>
   </analyzer>
   <analyzer type="query">
      <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/>
      <filter class="solr.SmartChineseWordTokenFilterFactory"/>
   </analyzer>
</fieldType>

到此  smartcn 分词器已配置完成

 

接下来集成 ik分词器 此时启动tomcat 能在主页面中看见如下

 

添加core

 

好了 现在可以开始你的分词了 ,,,,,

接下来集成ik分词器因为为ik分词很久没有更新了 所有需要源码重新编译下可参照

https://github.com/jianghouwei/ik-analyzer-solr5

有教程 

编译好了之后将jar 直接拷贝到D:\tomcat-solr\tomcat-8\webapps\solr\WEB-INF\lib目录

然后再

打开D:\tomcat-solr\solr\ins\conf\managed-schema文件 增加

<fieldType name="text_ik" class="solr.TextField">  
     <analyzer type="index" useSmart="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
     <analyzer type="query" useSmart="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
</fieldType>
<field name="text_ik" type="text_ik" indexed="true" stored="true" multiValued="false"/> 

到这里ik基本已经配置成功可以去主页试试

如果不行将ik-analyzer-solr5/src/main/resources/目录下

 stopword.dic  IKAnalyzer.cfg.xml 拷贝到 D:\tomcat-solr\solr\ins\conf目录下

至此两个常用的中文分词器已经配置完毕,如果增加其他的分词也可以采用上述分词器

4: 配置mysql数据库索引

建立mysql表

CREATE TABLE `NewTable` (
	`id` INT (11) NOT NULL AUTO_INCREMENT COMMENT '主键id',
	`area_id` VARCHAR (50) CHARACTER
SET utf8 COLLATE utf8_bin NOT NULL COMMENT '城市id',
 `name_en` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市英文名',
 `name_cn` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市中文名',
 `district_en` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市所在市英文名',
 `district_cn` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市所在市中文名',
 `province_en` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市所在省英文名',
 `province_cn` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市所在省中文名',
 `nation_en` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市所在国家英文名',
 `nation_cn` VARCHAR (100) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '城市所在国家中文名',
 `memo` VARCHAR (200) CHARACTER
SET utf8 COLLATE utf8_bin NULL DEFAULT NULL COMMENT '备忘录 预留字段',
 PRIMARY KEY (`id`)
) ENGINE = INNODB DEFAULT CHARACTER
SET = utf8 COLLATE = utf8_bin COMMENT = '中国天气网城市id列表' AUTO_INCREMENT = 2566 ROW_FORMAT = COMPACT;

在D:\tomcat-solr\solr\ins\conf

solrconfig.xml

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

solr-data-config.xml增加如下配置

打开solr-data-config.xml

增加mysql配置

<!--dataConfig>
  <document>
    <entity name="sep" processor="SolrEntityProcessor"
            url="http://127.0.0.1:8983/solr/db "
            query="*:*"
            fl="*,orig_version_l:_version_,ignored_price_c:price_c"/>
  </document>
</dataConfig -->

<dataConfig>  
  <dataSource type="JdbcDataSource" 
        driver="com.mysql.jdbc.Driver" 
  	url="jdbc:mysql://139.198.9.50:3306/weather" 
        user="root" password="151MysqlPass"/>
    <document>
        <entity name="city" pk="id" query="select id,area_id , name_en , name_cn ,district_en,district_cn,province_en,province_cn from  business_city">
            <field column="id" name="id" />
            <field column="area_id" name="area_id" />
            <field column="name_en" name="name_en" />
            <field column="name_cn" name="name_cn" />
            <field column="district_en" name="district_en"/> 
	    <field column="district_cn" name="district_cn"/> 
	    <field column="province_en" name="province_en"/> 
	    <field column="province_cn" name="province_cn"/> 
        </entity>
    </document>
</dataConfig>

打开 managed-schema增加如下配置

<!-- 字段维护  城市字段 -->
<field name="area_id" type="string" indexed="false" stored="true" multiValued="false"/> 
<field name="name_en" type="text_ik" indexed="false" stored="true" multiValued="false"/> 
<field name="name_cn" type="text_ik" indexed="true" stored="true" multiValued="false"/> 
<field name="district_en" type="text_ik" indexed="false" stored="true" multiValued="false"/> 
<field name="district_cn" type="text_ik" indexed="true" stored="true" multiValued="false"/> 
<field name="province_en" type="text_ik" indexed="false" stored="true" multiValued="false"/> 
<field name="province_cn" type="text_ik" indexed="true" stored="true" multiValued="false"/> 
<field name="nation_en" type="text_ik" indexed="false" stored="true" multiValued="false"/> 
<field name="nation_cn" type="text_ik" indexed="true" stored="true" multiValued="false"/> 


 

保存文件

现在操作

 

 

索引生成成功

 

可查询

© 著作权归作者所有

上一篇: 虚拟机 Vagrant
下一篇: Mysql flush-hosts
茅茹
粉丝 0
博文 73
码字总数 17928
作品 0
闵行
高级程序员
私信 提问
solr-集群安装搭建-入门

0,下载安装源码,solr的官网是 :http://lucene.apache.org/solr/ 1,解压出 源码中的安装脚本。假如 安装源码是: solr-5.4.0.tgz,那么执行命令是: tar -zxvf solr-5.4.0.tgz solr-5.4....

岸芷汀兰
2015/12/31
111
0
一.mac10 安装solr5.5入门

环境说明: mac环境:10.11.5 jdk : 1.7.0_15 solr: 5.5.5 备注:由于限于生产环境jdk版本7的缘故,所以采用solr5,建议jdk版本允许的情况下上高版本solr,比如6比5,solr就有上百项优化,s...

草木溪
2018/01/16
0
0
在 Ubuntu 12.04 LTS 上通过 Tomcat 部署 Solr 4

这个简短的教程描述了如何在 Ubuntu Server 上安装 Solr 4,我使用的版本是:Ubuntu Server 12.04 和 Apache Solr 4.0-BETA. 我同时将展示如何测试安装以及执行一个简单的索引和查询任务。 ...

红薯
2012/09/24
6.8K
11
solr4.9在tomcat7下安装、配置

solr简介 solr是受欢迎的,速度极快的开源企业搜索平台。主要功能包括强大的全文搜索,搜索词高亮显示,分面搜索,近实时的索引,动态聚类,数据库集成,丰富的文件(例如,Word,PDF)处理,...

cloud-coder
2014/08/21
0
1
CentOS下安装Solr5.3

https://lucene.apache.org/solr/ 前言 Solr现在是一个独立的服务器。 从Solr5.0开始,Solr不再发布为在任何Servlet容器中部署的“war”Web应用程序包(Web Application Archive)。Solr现在...

沉淀岁月
2016/09/08
5
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 白掌柜说了卖货不卖身

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @爱漫爱 :这是一场修行分享羽肿的单曲《Moony》 手机党少年们想听歌,请使劲儿戳(这里) @clouddyy :开不开心? 开心呀, 我又不爱睡懒觉…...

小小编辑
今天
8
0
大数据教程(11.7)hadoop2.9.1平台上仓库工具hive1.2.2搭建

上一篇文章介绍了hive2.3.4的搭建,然而这个版本已经不能稳定的支持mapreduce程序。本篇博主将分享hive1.2.2工具搭建全过程。先说明:本节就直接在上一节的hadoop环境中搭建了! 一、下载apa...

em_aaron
今天
3
0
开始看《JSP&Servlet学习笔记》

1:WEB应用简介。其中1.2.1对Web容器的工作流程写得不错 2:编写Servlet。搞清楚了Java的Web目录结构,以及Web.xml的一些配置作用。特别是讲了@WebServlet标签 3:请求与响应。更细致的讲了从...

max佩恩
今天
4
0
mysql分区功能详细介绍,以及实例

一,什么是数据库分区 前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可...

吴伟祥
今天
3
0
SQL语句查询

1.1 排序 通过order by语句,可以将查询出的结果进行排序。放置在select语句的最后。 格式: SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC 升序 (默认) DESC 降序 1.查询所有商品信息,...

stars永恒
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部