非常经典的solr教程,照着上面做完全能成功!
duogemajia
Solr 3.5 入门配置应用
机器上已安装 : Tomcat 6.0 jdk1.7 mysql 5.0
1 访问 /i/lucene/solr , 在这个网址里选择一个路径 , 下载 solr 3.5 的版本
2 solr3.5 在本机解压缩以后 , 把 apache-solr-3.5.0\example\webapps 目录下的 solr.war 文件拷贝到 Tomcat 6.0 的webapps 目录下
3 在 Tomcat 6.0\webapps\solr 目录里 新建一个 文件夹 conf
4 把 solr3.5 本机解压缩文件夹 apache-solr-3.5.0\example 下的 multicore 文件夹 考本到 Tomcat 6.0\webapps\solr\conf 目录下
5 在 Tomcat 6.0\conf\Catalina\localhost 目录下新建一个 l 文件 , 里面的内容如下
mysql下载下来是一个文件夹<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="${catalina.home}/webapps/solr.war" debug="0" crossContext="true" >
<Context docBase="${catalina.home}/webapps/solr.war" debug="0" crossContext="true" >
<Environment name="solr/home" type="java.lang.String" value="${catalina.home}/webapps/solr/conf/multicore" override="true" />
</Context>
</Context>
6 访问你的 solr 项目 localhost:8080/solr 会显示出两个 core , solr 正常运行
7 配置分词 , 使用的是 mmseg4j 和 搜狗词库 ,
下载地址 : le/p/mmseg4j/ , le/p/mmseg4j/downloads/detail?name=data.zip&can=2&q
8 把本地下载的 mmseg4j 解压缩 , 把里面的mmseg4j-all-1.8.5.jar 文件 拷贝到 Tomcat 6.0\webapps\solr\WEB-INF\lib 目录下
9 在 Tomcat 6.0\webapps\solr 目录下新建一个 dic 文件夹 , 把 新下载的 词库 拷贝到 dic 目录下
10 在 \Tomcat 6.0\webapps\solr\conf\multicore\core0\l 文件的 types 节点里 添加如下节点 :
<fieldtype name="textComplex" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="seg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/dic">
</tokenizer>
</analyzer>
</fieldtype>
<fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<analyzer>
<tokenizer class="seg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/dic">
</tokenizer>
</analyzer>
</fieldtype>
<fieldtype name="textMaxWord" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="seg4j.solr.MMSegTokenizerFactory" mode="maxword" dicPath="E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/dic">
</tokenizer>
</analyzer>
</fieldtype>
<fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="seg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/dic">
</tokenizer>
</analyzer>
</fieldtype>
</tokenizer>
</analyzer>
</fieldtype>
<fieldtype name="textSimple" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="seg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/dic">
</tokenizer>
</analyzer>
</fieldtype>
11 在 \Tomcat 6.0\webapps\solr\conf\multicore\core0\l 文件的 fields 节点里 添加如下节点 :
<field name="simple" type="textSimple" indexed="true" stored="true" multiValued="true" />
<field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true" />
<field name="text" type="textMaxWord" indexed="true" stored="true" multiValued="true" />
<field name="complex" type="textComplex" indexed="true" stored="true" multiValued="true" />
<field name="text" type="textMaxWord" indexed="true" stored="true" multiValued="true" />
12 因为 solr3.5 里有两个 core , 所以针对 core1 重复 10,11 两步
13 对分词进行测试 , 访问 localhost:8180/solr/core0/admin/analysis.jsp?highlight=on
13.1 Field[Name] 输入 : complex
13.2 Field Value(index) 输入 : 中国银行第一分行 , Field Value(index) 下面的 verbose outpu 点选
13.3 点击 Analyze 按钮 , 查看分词结果 : 中国银行 | 第一 | 分行
14 此时 Solr3.5 已经可以进行 分词 , 接下来配置 solr 3.5 连接 mysql 数据库 , 生成索引 , 进行分词
14.1 下载 java 的 mysql 驱动 , 本机解压 mysql-connector-java-5.1.18-bin.jar, 然后拷贝到 Tomcat 6.0\webapps\solr\WEB-INF\lib 目录下
14.2 在 \Tomcat 6.0\webapps\solr 目录下 新建 db 文件夹
14.3 在 \Tomcat 6.0\webapps\solr\db 文件夹下面新建一个 l 文件 , 内容如下 :
<dataConfig>
<dataSource type="JdbcDataSource" driver="sql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="123" />
<document name="messages">
<entity name="message" transformer="ClobTransformer" query="select * from test1">
<field column="ID" name="id" />
<field column="Val" name="text" />
</entity>
</document>
</dataConfig>
<document name="messages">
<entity name="message" transformer="ClobTransformer" query="select * from test1">
<field column="ID" name="id" />
<field column="Val" name="text" />
</entity>
</document>
</dataConfig>
url="jdbc:mysql://localhost:3306/test" user="root" password="123" 这里配置了 mysql 的连接路径 , 用户名 , 密码
<field column="ID" name="id" /><field column="Val" name="text" /> 这里配置的是 数据库里要索引的字段 , 注意name 是 11 步配置的
14.4 在 Tomcat 6.0\webapps\solr\conf\multicore\core0\conf 目录下的 l 文件里 , 添加如下代码 :
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/l</str>
</lst>
</requestHandler>
<lst name="defaults">
<str name="config">E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/l</str>
</lst>
</requestHandler>
“E:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/solr/l” 是 14.3 配置文件的绝对路径
14.5 在Tomcat 6.0\webapps\solr\conf\multicore\core1\l 路径里重复 14.4
14.6 把本地下载解压的 solr3.5 文件里 , dist 目录下的 apache-solr-dataimporthandler-3.5.0.jar 和 apache-solr-dataimporthandler-extras-3.5.0.jar Tomcat 6.0\webapps\solr\WEB-INF\lib 目录下
14.7 solr3.5 连接 mysql 已经配置完成 , 测试读取 mysql 生成 索引 , 访问 : localhost:8180/solr/core0/dataimport?command=full-import
14.8 测试分词查询 , 访问 localhost:8180/solr/core0/admin/ 查询数据库里索引列里有的词
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论