Solr4.6 的部署配置
2014-12-11 08:59
169 查看
Solr总结性的说,这是一个对lucene进行完全封装(从前台到后台)的项目,项目中如果需要使用搜索功能,经过配置之后项目就可以直接通过solr提供的搜索api进行搜索功能的应用,而无需开发人员再针对数据进行索引、分词的处理。
下载Solr并解压:http://lucene.apache.org/
创建SolrHome:
E盘下创建SolrHome目录,将solr解压后目录example中的multicore拷贝到SolrHome目录,将dist下的solr-4.6.0.war拷贝到SolrHome目录。
配置SolrHome的信息:
在Tomcat的目录conf\Catalina\localhost(如果不存在,请先运行一下tomcat就会自动生成)下,创建solr.xml信息如下:
<?xml version="1.0" encoding="UTF-8"?><Context docBase="E:/SolrHome/solr.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="E:/SolrHome/multicore" override="true" /> </Context>
配置solr运行支持包:
将solr解压后目录solr-4.6.0\dist\solrj-lib中的相关文件,拷贝之tomcat的lib目录。
jcl-over-slf4j-1.6.6.jar
jul-to-slf4j-1.6.6.jar
log4j-1.2.16.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
启动tomcat,访问http://localhost:8080/solr,就可进入solr的相关配置及运行信息界面。
配置Solr的中文分词技术:
solr的默认分词是按照英语进行分词,即按照空格进行分词,该分词算法不适用与中文,会导致大量的冗余索引。
solr的第三方中文分词
paoding :Lucene中文分词“庖丁解牛” Paoding Analysis
imdict :imdict智能词典所采用的智能中文分词程序
mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器
iIKAnalyzer :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式lucene-analyzers-smartcn :Solr官方提供的中文分词,有点与新版本同步发行,缺点相对中文化略差
将solr解压后目录solr-4.6.0\contrib\analysis-extras\lucene-libs中的lucene-analyzers-smartcn-4.6.0.jar文件,拷贝之tomcat的项目运行webapps\solr\WEB-INF\lib目录。
配置Solr的注册分词器:
进入<Environment name="solr/home" type="java.lang.String" value="E:/SolrHome/multicore" override="true" />
目录中,将conf/schema.xml中:
Types标签中加入以下:
<fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <!-- 此处需要配置主要的分词类 --> <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/> <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.LowerCaseFilterFactory"/> --> <!-- in this example, we will only use synonyms at query time <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> --> <filter class="solr.SmartChineseWordTokenFilterFactory"/> </analyzer> <analyzer type="query"> <!-- 此处配置同上 --> <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/> <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> --> <filter class="solr.SmartChineseWordTokenFilterFactory"/> </analyzer> </fieldType>
<fields>标签下加入以下:
<field name="sma" type="text_smart" indexed="true" stored="true" multiValued="true"/>
修改默认分词器:
<defaultSearchField>sma</defaultSearchField>
验证中文分词效果:
访问:localhost:8080/solr
选择菜单:Core Admin-->Core Selector-->Core0-->Analysis
Field Value (Index)中输入对应中文,然后进行分词解析
下载Solr并解压:http://lucene.apache.org/
创建SolrHome:
E盘下创建SolrHome目录,将solr解压后目录example中的multicore拷贝到SolrHome目录,将dist下的solr-4.6.0.war拷贝到SolrHome目录。
配置SolrHome的信息:
在Tomcat的目录conf\Catalina\localhost(如果不存在,请先运行一下tomcat就会自动生成)下,创建solr.xml信息如下:
<?xml version="1.0" encoding="UTF-8"?><Context docBase="E:/SolrHome/solr.war" debug="0" crossContext="true" > <Environment name="solr/home" type="java.lang.String" value="E:/SolrHome/multicore" override="true" /> </Context>
配置solr运行支持包:
将solr解压后目录solr-4.6.0\dist\solrj-lib中的相关文件,拷贝之tomcat的lib目录。
jcl-over-slf4j-1.6.6.jar
jul-to-slf4j-1.6.6.jar
log4j-1.2.16.jar
slf4j-api-1.6.6.jar
slf4j-log4j12-1.6.6.jar
启动tomcat,访问http://localhost:8080/solr,就可进入solr的相关配置及运行信息界面。
配置Solr的中文分词技术:
solr的默认分词是按照英语进行分词,即按照空格进行分词,该分词算法不适用与中文,会导致大量的冗余索引。
solr的第三方中文分词
paoding :Lucene中文分词“庖丁解牛” Paoding Analysis
imdict :imdict智能词典所采用的智能中文分词程序
mmseg4j : 用 Chih-Hao Tsai 的 MMSeg 算法 实现的中文分词器
iIKAnalyzer :采用了特有的“正向迭代最细粒度切分算法“,多子处理器分析模式lucene-analyzers-smartcn :Solr官方提供的中文分词,有点与新版本同步发行,缺点相对中文化略差
将solr解压后目录solr-4.6.0\contrib\analysis-extras\lucene-libs中的lucene-analyzers-smartcn-4.6.0.jar文件,拷贝之tomcat的项目运行webapps\solr\WEB-INF\lib目录。
配置Solr的注册分词器:
进入<Environment name="solr/home" type="java.lang.String" value="E:/SolrHome/multicore" override="true" />
目录中,将conf/schema.xml中:
Types标签中加入以下:
<fieldType name="text_smart" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <!-- 此处需要配置主要的分词类 --> <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/> <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.LowerCaseFilterFactory"/> --> <!-- in this example, we will only use synonyms at query time <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/> --> <filter class="solr.SmartChineseWordTokenFilterFactory"/> </analyzer> <analyzer type="query"> <!-- 此处配置同上 --> <tokenizer class="solr.SmartChineseSentenceTokenizerFactory"/> <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/> <filter class="solr.LowerCaseFilterFactory"/> --> <filter class="solr.SmartChineseWordTokenFilterFactory"/> </analyzer> </fieldType>
<fields>标签下加入以下:
<field name="sma" type="text_smart" indexed="true" stored="true" multiValued="true"/>
修改默认分词器:
<defaultSearchField>sma</defaultSearchField>
验证中文分词效果:
访问:localhost:8080/solr
选择菜单:Core Admin-->Core Selector-->Core0-->Analysis
Field Value (Index)中输入对应中文,然后进行分词解析
相关文章推荐
- Solr部署配置(二)中文分词设置
- Solr部署配置(四)批量导入数据
- 配置solr服务(默认使用jetty部署)
- Solr集群配置以及部署
- solr集群配置与部署
- centos7下部署配置solr-4.10.3
- solr4.5部署到tomcat以及solr4.5配置中文分词器mmseg4j
- solr 4.6的安装配置
- 在linux下通过zookeeper部署solr集群详细配置教程
- solr4.6配置数据核心
- Ubuntu13.10下配置Nutch1.7和Solr4.6集成
- 配置IKAnalyzer2012扩展词库(tomcat8.0+solr4.6)
- solr5.1.0 部署配置
- solr5.1.0 部署配置
- Solr部署配置(三)实时检索接口
- ubuntu下tomcat7和solr4.6集成配置
- solr部署到tomcat和部分简单使用配置
- solr5以上版本配置安装部署集群参考
- Solr部署与配置