文档章节

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"/> 


 

保存文件

现在操作

 

 

索引生成成功

 

可查询

© 著作权归作者所有

上一篇: 虚拟机 Vagrant
下一篇: Mysql flush-hosts
茅茹
粉丝 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 16.04 LTS下安装配置Solr-Mmseg4j

安装环境:Ubuntu 16.04 LTS; Java JDK 1.8.0 目录 检查系统环境 安装Apache Solr 配置solr-mmseg4j 1. 检查系统环境 检查java环境 所需java版本是1.8.0 相关链接: Ubuntu 16.04 LTS下安装配...

㭍葉
2017/05/31
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
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

没有更多内容

加载失败,请刷新页面

加载更多

如何处理JavaScript 中的货币值?

 金钱无处不在。   无论在银行应用程序、电子商务网站还是证券交易所平台,我们每天都在与金钱互动。我们也越来越依赖技术来处理问题。   然而,关于如何以编程处理货币价值尚无共识。虽...

数据星河
15分钟前
3
0
并发中的volatile

1. 概述 由于线程有本地内存的存在, 一个线程修改的共享变量不会及时的刷新到主内存中, 使得另一个线程读取共享变量时读取到的仍旧是旧值, 就导致了内存可见性问题. 现在volatile就可以解决这...

Ala6
16分钟前
6
0
三大特性之---封装

封装从字面上来理解就是包装的意思,专业点就是信息隐藏,是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能...

architect刘源源
18分钟前
2
0
设计模式 之 策略模式

设计模式 之 策略模式 定义 提供几个算法策略,选择其中一个策略去执行。 优点 由于将算法封装成单独的策略,策略可以灵活切换。 扩展性好,符合开闭原则。 缺点 策略多,类也会变多 策略类需...

GMarshal
19分钟前
2
0
HBase集群监控的那些事儿

为什么需要监控? 为了保证系统的稳定性,可靠性,可运维性。 掌控集群的核心性能指标,了解集群的性能表现; 集群出现问题时及时报警,便于运维同学及时修复问题; 集群重要指标值异常时进行...

微笑向暖wx
19分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部