ubuntu下安装solr(总结)
来源:互联网 发布:c mysql连接字符串 编辑:程序博客网 时间:2024/06/11 03:23
感觉好长时间没有写博客,由于最近忙,加上公司来了一SB运营人员,搞的整个团队都很郁闷,我也就没那时间写技术类的博客!不发牢骚了,进入正题。
solr是java做的一个搜索引擎,安装solr之前一定要先安装JDK的
1.安装JDK
apt-get install openjdk-7-jdk
2.下载solr软件 官方最新版本是4.8.1(点击下载)
3.安装php的solr扩展(查看安装)
4.配置solr的schem.xml文件
<field name="_version_" type="long" indexed="true" stored="true" /> <field name="id" type="string" indexed="true" stored="true" required="true" /> <field name="title" type="string" indexed="false" stored="true" /> <field name="bigcid" type="int" indexed="true" stored="true" /> <field name="middlecid" type="int" indexed="true" stored="true" /> <field name="smallcid" type="int" indexed="true" stored="true" /> <field name="mincid" type="int" indexed="true" stored="true" /> <field name="cas" type="text_general" indexed="true" stored="true" /> <field name="package" type="text_general" indexed="false" stored="true" /> <field name="pic" type="text_general" indexed="false" stored="true" /> <field name="item_code" type="string" indexed="false" stored="true" /> <field name="brand_id" type="int" indexed="true" stored="true"/> <field name="brand_name" type="text_general" indexed="false" stored="true" /> <field name="supplier" type="string" indexed="false" stored="true" /> <field name="supplier_id" type="int" indexed="true" stored="true" /> <field name="prom_price" type="double" indexed="true" stored="true" /> <field name="price" type="double" indexed="true" stored="true" /> <field name="volume" type="int" indexed="true" stored="true" /> <field name="supply_type" type="int" indexed="true" stored="true" /> <field name="cert" type="int" indexed="true" stored="true" /> <field name="keyword" type="textComplex" indexed="true" stored="true" multiValued="true" /> <field name="properties" type="text_zh" indexed="true" stored="true" multiValued="true" /> <defaultSearchField>keyword</defaultSearchField> <solrQueryParser defaultOperator="AND"/> <uniqueKey>id</uniqueKey> <copyField source="title" dest="keyword"/> <copyField source="cas" dest="keyword"/> <copyField source="item_code" dest="keyword"/> <copyField source="brand_name" dest="keyword"/> <copyField source="supplier" dest="keyword"/> <copyField source="properties" dest="keyword"/>
5.配置solr中文分词法(IK,mmseg,)
配置分词法前要下载相应的jar包(下面主要介绍三种分词法)
IKAnalyzer下载, mmseg下载 ,jcseg下载
第一步:下载相应的分词文件后 如:IKAnalyzer2012FF_u1.jar文件放到 solr-4.8.0/example/webapps/solr/WEB-INF/lib目录下(前提是先解压solr-4.8.0/example/solr.war) 解压这个文件用的命令:jar -xvf solr.war ./solr
第二步:压缩文件 jar -cvf solr.war ./solr
第三步:配置分词 schema.xml
<!-- IKAnalyzer --><fieldType name="text_zh" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType><!-- jcseg --><fieldtype name="textComplex" class="solr.TextField"><analyzer><tokenizer class="org.lionsoul.jcseg.solr.JcsegTokenizerFactory" mode="complex"/></analyzer></fieldtype><fieldtype name="textSimple" class="solr.TextField"> <analyzer> <tokenizer class="org.lionsoul.jcseg.solr.JcsegTokenizerFactory" mode="simple"/> </analyzer></fieldtype> <!-- mmseg4j --><fieldType name="textComplex2" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> </analyzer> </fieldType><fieldType name="textMaxWord" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/> </analyzer> </fieldType><fieldType name="textSimple2" class="solr.TextField" positionIncrementGap="100" > <analyzer> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="/home/china/solr-4.7.1/example/solr/my_dic"/> </analyzer> </fieldType>
6.修改 solr的IP及端口(要修改 solr-4.8.0/example/etc/jetty.xml
<Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.bio.SocketConnector"> <Set name="host"><SystemProperty name="jetty.host" default="0.0.0.0"/></Set> 设置成任何IP可访问 <Set name="port"><SystemProperty name="jetty.port" default="8983"/></Set> 在这里设置默认端口 <Set name="maxIdleTime">50000</Set> <Set name="lowResourceMaxIdleTime">1500</Set> <Set name="statsOn">false</Set> </New> </Arg> </Call>
7.配置搜索时多个关键字用空格分开时出现的错误页面问题:(修改conf中的solrconfig.xml)
<requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults"> <str name="echoParams">explicit</str> <int name="rows">10</int> <str name="df">keyword</str>设置成要搜索的字段 <str name="qf"> title^10.0 keywords^5.0 </str> </lst> </requestHandler>
8.suggest配置(百度搜索时下拉框提示效果)
修改solrconfig.xml文件 添加以下几行代码
<searchComponent name="suggest" class="solr.SpellCheckComponent"> <str name="queryAnalyzerFieldType">string</str> <lst name="spellchecker"> <str name="name">suggest</str> <str name="classname">org.apache.solr.spelling.suggest.Suggester</str> <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str> <str name="field">keyword</str> //设置成搜索的关键字(索引字段) <float name="threshold">0.0001</float> <!-- 使用自定义suggest词库词可以将如下两行的注释取消 <str name="sourceLocation">suggest.txt</str> <str name="spellcheckIndexDir">spellchecker</str>--> <str name="comparatorClass">freq</str> <str name="buildOnOptimize">true</str> <str name="buildOnCommit">true</str> </lst> </searchComponent> <requestHandler name="/suggest" class="org.apache.solr.handler.component.SearchHandler"> <lst name="defaults"> <str name="spellcheck">true</str> <str name="spellcheck.dictionary">suggest</str> <str name="spellcheck.count">10</str> <str name="spellcheck.onlyMorePopular">true</str> <str name="spellcheck.extendedResults">false</str> <str name="spellcheck.collate">true</str> <!--<str name="spellcheck.build">true</str> --> </lst> <arr name="components"> <str>suggest</str> </arr> </requestHandler>
以下配置是经过个人实践,有不理解或不明白的地方,欢迎前来交流! QQ 327168521
- ubuntu下安装solr(总结)
- ubuntu下安装solr
- ubuntu下Apache Solr的安装流程
- ubuntu下安装 php的solr扩展
- Ubuntu安装Solr
- Ubuntu 14.04下安装solr 4.10以及集成Mysql方法
- ubuntu 下安装文件总结
- Ubuntu下安装Hadoop总结
- Ubuntu下安装xampp总结
- Ubuntu下安装ffmpeg总结
- windows下安装solr
- linux 下安装solr
- windows下Solr安装
- Win7安装Ubuntu-Ubuntu下安装eclipse总结
- Linux下安装使用Solr
- windows下使用solr--安装
- tomcat7下安装solr 4.3
- solr在Tomcat下安装
- Linux-6.5下 MariaDB-10 半同步复制数据的配置解析
- 纯代码 自动屏幕适配iPhone 按钮
- Linux 学习问题...
- 面试Java软件开发职位面试题
- 可变数组交换(冒泡排序)
- ubuntu下安装solr(总结)
- Oracle万能分页法的存储过程
- ini设置指令的一些知识
- 创建一个自定义会话处理程序
- POJ 3579 Median
- 你知道六一儿童节起源于希特勒制造的大屠杀吗?
- iOS开发- Xcode插件(一)-规范注释生成器VVDocumenter
- Android数据存储---数据备份(Data Backup)(一)
- 骨骼动画换装的实例