设为首页 收藏本站
查看: 1062|回复: 0

[经验分享] Solr Server服务器端安装配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-12-15 07:27:22 | 显示全部楼层 |阅读模式
Solr Server服务器端安装配置

一、下载SOLR相关
  http://mirror.bit.edu.cn/apache/lucene/solr/4.9.1/solr-4.9.1.zip
  下载后解压到D:\skg\soft\solr-4.9.1
  Solr-4.9.1程序包的目录结构 
  ➔ contrib :存放爱好者贡献的代码。
  ➔ dist :存放Solr 构建完成的 JAR 文件、WAR 文件和 Solr 依赖的 JAR 文件。     
  ➔ example :是一个安装好的Jetty 中间件,其中包括一些样本数据和 Solr 的配置信息。 
  ➔ example/etc :Jetty 的配置文件。         
  ➔ example/multicore :当安装Slor multicore 时,用来放置多个 Solr 主目录。
  ➔ example/example-DIH :可以作为solr的主目录,里面包含多个索引库,以及hsqldb的数据,里面有连接数据库的配置示例,以及邮件、rss的配置示例。
  ➔ example/solr :默认安装时一个Solr 的主目录。
  ➔ example/webapps :Solr 的 WAR 文件部署在这里。
  ➔ docs:Solr 的文档。
  下载IKAnalyzer
  http://download.csdn.net/detail/l444304541/5806281
  下载后解压到D:\skg\soft\IKAnalyzer\IKAnalyzer2012FF_u1.jar

二、Tomcat 部署 Solr服务端
  1.创建目录D:\skg\skg-solr-server\solr-web
  2.解压D:\soft\solr-4.9.1\solr-4.9.1\example\webapps\solr.war 到 D:\skg\skg-solr-server\solr-web
  
DSC0000.png
 
  3.复制D:\skg\soft\IKAnalyzer\IKAnalyzer2012FF_u1.jar 到 D:\skg\skg-solr-server\solr-web\WEB-INF\lib
  
DSC0001.png
 
  4.创建目录 D:\skg\skg-solr-server\solr-home
  5.复制D:\skg\soft\solr-4.9.1\example\solr 到 D:\skg\skg-solr-server\solr-home
  
DSC0002.png
 
  6.重命名 D:\skg\skg-solr-server\solr-home\collection1 改为 D:\skg\skg-solr-server\solr-home\product
  7.打开文件D:\skg\skg-solr-server\solr-home\product\core.properties   
  名称:name=collection1 
  改为:name = product
  8.打开D:\skg\skg-solr-server\solr-web\WEB-INF\web.xml文件,修改 env-entry-value 为 solr_home目录路径

<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>D:\skg\skg-solr-server\solr-home\</env-entry-value>
</env-entry>
  9.打开tomcat/conf/server.xml文件,添加下面配置

<Host name="localhost" appBase="webapps" unpackWARs="true">
  <Context path="/solr" docBase="D:\skg\skg-solr-server\solr-web" reloadable="false"></Context>
</Host>
  10.启动tomcat ,浏览器转入 http://localhost/solr/ 
  
DSC0003.png
 
  这看到这个界面表示安装成功,选择左边 core selector可以切换集合(集合类似数据表)。
  选择 product下级Query菜单可以在线查询
  
DSC0004.png
 

三、设置solr schema.xml
  备份D:\skg\skg-solr-server\solr-home\product\conf\schema.xml,修改 schema.xml如下,红色字是修改内容。

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="skg" version="1.5">
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<!--字段类型 索引:默认分词 查询:最大词长分词-->
<fieldType name="text_ik" class="solr.TextField">  
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
</fieldType>
<!--字段类型 索引:默认分词 查询:默认分词-->
<fieldType name="text_cn" class="solr.TextField">
<analyzer type="index"  class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
<analyzer type="query"  class="org.wltea.analyzer.lucene.IKAnalyzer"/>  
</fieldType>
<!--solr 版本号-->
<field name="_version_" type="long" indexed="true" stored="true"/>
<!--solr 唯一标识号-->
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<!--字段名称,类型-->
<!--产品key:不索引、保存-->
<field name="key" type="string" indexed="false" stored="true" />
<!--产品标题: ik分词、索引、保存-->
<field name="title" type="text_ik" indexed="true" stored="true" />
<!--产品子标题: ik分词、索引、保存-->
<field name="sub_title" type="text_ik" indexed="true" stored="true" />
<!--产品分类ID: ik分词、索引、保存-->
<field name="cid" type="string" indexed="true" stored="true" />
<!--产品图片: 不索引、保存-->
<field name="img" type="string" indexed="false" stored="true" />
<!--产品价格: 索引、保存-->
<field name="price" type="double" indexed="true" stored="true" />
<!--产品属性: 索引、保存-->
<field name="props" type="text_cn" indexed="true" stored="true" />
<!--产品描述: 索引、保存-->
<field name="text" type="text_cn" indexed="true" stored="true" />
<!--产品所属地区: 索引、保存-->
<field name="area" type="double" indexed="true" stored="true" />
<!--产品组合件数: 不索引、保存-->
<field name="num" type="int" indexed="false" stored="true" />
<!--产品最后更新时间: 索引、保存-->
<field name="time" type="long" indexed="true" stored="true" />
<!--产品状态: 不索引、保存-->
<field name="status" type="string" indexed="false" stored="true" />
<!--产品所在地区: 索引、保存-->
<field name="area_id" type="string" indexed="true" stored="true" />
<!--产品所在地城市: 索引、保存-->
<field name="city_id" type="string" indexed="true" stored="true" />
<!--产品样式: 索引、保存-->
<field name="style_id" type="string" indexed="true" stored="true" />
<!--字段名称,类型-->
<!--唯一ID字段名称-->
<uniqueKey>id</uniqueKey>
<!--默认查询字段-->
<defaultSearchField>title</defaultSearchField>
<!--默认查询条件-->
<solrQueryParser defaultOperator="OR"/>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" positionIncrementGap="0"/>
<fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" positionIncrementGap="0"/>
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" positionIncrementGap="0"/>
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
<fieldtype name="binary" class="solr.BinaryField"/>
<fieldType name="random" class="solr.RandomSortField" indexed="true" />
<fieldType name="managed_en" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.ManagedStopFilterFactory" managed="english" />
<filter class="solr.ManagedSynonymFilterFactory" managed="english" />
</analyzer>
</fieldType>
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EnglishPossessiveFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.PorterStemFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_en.txt"/>
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.EnglishMinimalStemFilterFactory"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.PatternReplaceFilterFactory" pattern="([^a-z])" replacement="" replace="all" />
</analyzer>
</fieldType>
<fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" >
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
</analyzer>
</fieldtype>
<fieldtype name="payloads" stored="false" indexed="true" class="solr.TextField" >
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
</analyzer>
</fieldtype>
<fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="descendent_path" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory" />
</analyzer>
</fieldType>
<fieldType name="ancestor_path" class="solr.TextField">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
</analyzer>
</fieldType>
<fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" />
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
<fieldType name="location_rpt" class="solr.SpatialRecursivePrefixTreeFieldType" geo="true" distErrPct="0.025" maxDistErr="0.000009" units="degrees" />
<fieldType name="currency" class="solr.CurrencyField" precisionStep="8" defaultCurrency="USD" currencyConfig="currency.xml" />
<fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="lang/stopwords_ar.txt" />
<filter class="solr.ArabicNormalizationFilterFactory"/>
<filter class="solr.ArabicStemFilterFactory"/>
</analyzer>
</fieldType>
</schema>

  到这里 solr服务器端已安装配置完成。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-314344-1-1.html 上篇帖子: Solr 的一些问题小结 下篇帖子: Lucene & Solr 2011年盘点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表