文档章节

solr 安装

茅茹
 茅茹
发布于 2016/07/14 16:10
字数 1254
阅读 12
收藏 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"/> 


 

保存文件

现在操作

 

 

索引生成成功

 

可查询

© 著作权归作者所有

茅茹
粉丝 0
博文 72
码字总数 17903
作品 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...

草木溪
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.6K
11
solr4.9在tomcat7下安装、配置

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

cloud-coder
2014/08/21
0
1
Solr7.4.0在windows系统下使用Jetty和Tomcat运行教程

SOLR 7.4.0版本,JDK需要8.0以上的版本,如果用Tomcat运行,Tomcat也要选择8.0以上的版本。 下载地址:http://www.apache.org/dyn/closer.lua/lucene/solr/7.4.0 solr可以使用jetty和tomcat运...

zchuanzhao
07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx 负载均衡

一.配置方式 1.轮询(默认) 优点:实现简单; 缺点:不考虑每台服务器处理能力 2.权重 weight默认是1。如果有多个配置权重的节点,比较相对值。 15:10,只代表访问8080端口的概率是访问908...

imbiao
51分钟前
1
0
jQuery学习笔记180923

jQuery 操作 CSS jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些: addClass() - 向被选元素添加一个或多个类 removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选...

颖伙虫
今天
2
0
[python] colorama 模块 - 改变控制台输出文本的颜色

除了使用 PyQt 这样的图形化开发框架外,基本上 python 程序都是跑在控制台中的。很多时候,单纯使用黑白的文字不能很好地突出我们要显示的信息。有时候我们需要将错误的提示使用红色标注,而...

cometeme
今天
3
0
Makefile 学习 2 - 基于若干 Blog 的汇总

基于若干 Blog 汇总的 makefile 教程 陈皓 https://blog.csdn.net/haoel/article/details/2886 Makefile 进阶 1. Makefile 中的内容 显式规则。显式规则说明了,如何生成一个或多的的目标文件...

公孙衍
今天
2
0
NIO与BIO的区别、NIO的运行原理和并发使用场景

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的...

Java干货分享
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部