2019独角兽企业重金招聘Python工程师标准>>>

1.下载solr-4.7.1

http://www.apache.org/dyn/closer.cgi/lucene/solr/4.7.1

环境需求:java 1.6版本以上;solr运行需要java serverlet 容器,默认使用jetty,或者tomcat,jboss等等。

2.Tomcat部署solr:

1. 安装好jdk 1.6以上(我用是jdk 1.7.0_15),安装好tomcat(我用是apache-tomcat-7.0.6),并配置环境变量。

2. 将解压包中的solr-4.7.1/dist/solr-4.7.1.war复制到tomcat_dir/webapps/目录,并命名为solr.war。

3.  将solr-4.7.1/example/lib/ext/目录下的jar文件复制到tomcat/lib目录下,将solr-4.7.1/example/resources/下的log4j.properties文件复制到tomcat_dir/lib目录下;

切把 solr-4.7.1/example/solr,复制到tomcat_dir/bin下。

4.修改tomcat_dir/conf/server.xml

 <Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" URIEncoding="UTF-8" />

5.创建solr.xml,存放在路径:tomcat/conf/Catalina/localhost/solr.xml,内容:

<Context path="/solr" docBase="F:\Tomcat 7.0\webapps\solr.war"debug="0" crossContext="true"><Environment name="solr/home" type="java.lang.String" value="FF:\Tomcat 7.0\bin\solr\" override="true" />
</Context>

注意:上面的docBase和value路径中不能存在中文字符,否则会出现404错误。

此时若安装及配置都正确,在浏览器中输入:http://127.0.0.1:9000/solr/,会出现Solr的管理界面:

6.将F:\Tomcat 7.0\webapps下的solr.war包,启动项目解压;然后再添加几个jar包:

solr-4.7.1\dist\solr-dataimporthandler-4.7.1.jar;

solr-4.7.1\dist\solr-dataimporthandler-extras-4.7.1.jar;

还要加载数据库驱动包:mysql-connector-java-3.1.13-bin.jar

7、在F:\Tomcat 7.0\bin\solr\collection1\conf 下的solrconfig.xml增加以下数据库配置:

<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">     <lst name="defaults">     <str name="config">data-config.xml</str>     </lst>     </requestHandler>

8.将tomcat\bin\solr\collection1\conf下增加data-config.xml文件,内容如下:

<dataConfig>  <dataSource type="JdbcDataSource"  driver="com.mysql.jdbc.Driver"  url="jdbc:mysql://192.168.1.221:3306/tmsdb"  user="root"  password="123456"/>  <document name="content">  <entity name="node" query="select id,author,title,content from solrdb">  <field column="id" name="id" />  <field column="author" name="author" />  <field column="title" name="title" />  <field column="content" name="content" /></entity>  </document>
</dataConfig>

9.增加中文分词器,ik-analyzer的配置如下:

①目前的中文分词主要有两种 
    1,基于中科院ICTCLAS的隐式马尔科夫hhmm算法的中文分词器,例如smartcn等。(不支持自定义扩展词库) 
    2,基于正向迭代最细粒度切分算法(正向最大匹配并且最细分词)例如IK,庖丁等(支持自定义扩展词库) 
安装分词前,可以去下载IK的分词包 :

IK-Analyzer-4.7.1-0.0.1-SNAPSHOT.jar

下载完毕后,将此包放进tomcat\solr的\WEB-INF\lib下面:tomcat\webapps\solr\WEB-INF\lib  。

下面需要在solr的schemal.xml进行分词器注册:

<!--  配置IK分词器 -->  <fieldType name="text_ik" class="solr.TextField" positionIncrementGap="100">  <analyzer type="index">  <!--  分词-->  <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>  <!--   禁用词过滤根据情况使用-->  <!-- <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory"/> -->  </analyzer>  <analyzer type="query">  <!--  分词-->  <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory"/>  <!--   禁用词过滤根据情况使用-->  <!-- <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory"/>-->  </analyzer>  </fieldType>

最后还得配置一个引用字段就OK了

 <field name="ik" type="text_ik" indexed="true" stored="true" multiValued="true"/>

②它的安装部署十分简单,将IKAnalyzer2012.jar部署亍项目的lib目录中;IKAnalyzer.cfg.xml不stopword.dic文件放置在class根目录(对于web项目,通常是WEB-I NF/classes目彔,同hibernate、log4j等配置文件相同)下即可 ;然后配置solr4.7中schema.xml配置解析器:

<schema name="example" version="1.1"> …… <fieldType name="text" class="solr.TextField"> <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/> </fieldType>……
</schema>

10. solr schema.xml配置总结:

schema.xml 在solr/conf/目录下,类似于数据表配置文件。

为了改进性能,可以采取以下几种措施:

①.   将所有只用于搜索的,而不需要作为查询结果的field(特别是一些比较大的field)的stored设置为false。

②.   将不需要被用于搜索的,而只是作为查询结果返回的field的indexed设置为false。

③.   删除所有不必要的copyField声明,根据需要决定是否进行存储。

④.   为了索引字段的最小化和搜索的效率,将所有的 text fields的index都设置成false,然后使用copyField将他们都复制到一个总的 text field上,然后对他进行搜索。

⑤.   使用尽可能高的Log输出等级,减少日志量。可以在solr/admin 中的 LOGGING 进行设置。

特珠说明:

1.   高亮是基于分词的,所有存储需要高亮显示的字段 一定要分词(text)才能高亮显示。

2.   排序字段 是不能当  查询过滤的条件。

文本主要配置项:

①.   field 类型定义

重点是中文分词的添加

②.   field 各属性定义

name     type类型   indexed是否建立索引  stored是否存储 required 是否必填项 multiValued多值存储

③.   唯一key

<uniqueKey>id</uniqueKey>

文档的唯一标识, 必须填写这个field(除非该field被标记required="false"),否则solr建立索引报错。

④.   默认搜索字段 field

<defaultSearchField>text</defaultSearchField>

如果搜索参数中没有指定具体的field,那么这个做为默认的域。

⑤.   搜索参数短语间逻辑

<solrQueryParser defaultOperator="OR"/>

配置搜索参数短语间的逻辑,可以是"AND|OR"。

备注: AND是交集,OR是并集

⑥.  复制字段

<copyField source="content" dest="text"/>

将多个字段的值 复制至 一个字段中,如果被复制的字段都设置为stored,那个这个字段务必不要设置成stored=true

⑦.  自定义评分器

<similarity class="......SolrSimilarity"/>

SolrSimilarity 是继承 DefaultSimilarity的子类,或者实现评分器接口的类。

解析:multiValued:是否包含多个值,如果要使用后面的copyField将其他字段放入默认搜索中就必须允许多指,否则会报:multiple values encountered for non multiValued copy field content。

defaultSearchField配置默认搜索索引,copyField可以将 title、author字段添加至content默认搜索中

<uniqueKey>id</uniqueKey>  <defaultSearchField>content</defaultSearchField>  <solrQueryParser defaultOperator="OR"/>
<copyField source="title" dest="content"/>
<copyField source="author" dest="content"/>

转载于:https://my.oschina.net/MrMichael/blog/222033

Solr安装及集成javaWeb相关推荐

  1. solr mysql 分词_solr 7+tomcat 8 + mysql实现solr 7基本使用(安装、集成中文分词器、定时同步数据库数据以及项目集成)...

    基本说明 Solr是一个开源项目,基于Lucene的搜索服务器,一般用于高级的搜索功能: solr还支持各种插件(如中文分词器等),便于做多样化功能的集成: 提供页面操作,查看日志和配置信息,功能全面 ...

  2. Solr与MongoDB集成,实时增量索引[转]

    http://www.123905.com/ 一. 概述 大量的数据存储在MongoDB上,需要快速搜索出目标内容,于是搭建Solr服务. 另外一点,用Solr索引数据后,可以把数据用在不同的项目当中 ...

  3. solr安装-tomcat+solrCloud构建稳健solr集群

    solrCloud的搭建可以有两种方式:使用solr内嵌的jetty来搭建:使用外部web容器tomcat来搭建.对于使用jett来搭建参考solr官方的手册照着做肯定ok,下面我主要讲的是如何使用t ...

  4. solr安装笔记与定时器任务

    一:solr启动 目前solr最高版本为5.5.0版本,很多solr安装都是说将server文件copy到tomcat中,但是solr版本自带有jetty的启动方式 首先下载solr-5.5.0版本, ...

  5. 烂泥:Tomcat免安装版与JRE免安装版集成

    本文首发于烂泥行天下,由秀*依*林*枫提供友情赞助 目前公司里面有一款产品是可以监测Tomcat的,自己就尝试搭建测试下.发现不能监测原来是因为Tomcat的配置出错了.下面就把自己正确的配置贴出来, ...

  6. 一、PHP基础-安装PHP集成环境

    目录 PHP运行集成环境下载 phpStudy集成环境安装 XAMPP集成环境安装 WampServer环境安装 作者:吴耀田   个人博客:http://www.cnblogs.com/isaacw ...

  7. [原创内容] 秒变老司机--系统更新安装和集成批处理解决方案[Win7SP1x64简体中文官方镜像专用]1.0...

    秒变老司机--系统更新安装和集成批处理解决方案 A Batch Solution For Windows Updates of Windows7 SP1 x64 Simplified Chinese ...

  8. Solr安装、中文分词以及定时更新索引

    Solr安装及使用 一.安装 1.官网下载地址 直接下载 zip格式即可 2.解压下载的压缩包即可完成Solr安装. 3.打开DOS,路径切换至solr_home\bin,执行命令:solr star ...

  9. Linux solr 安装教程

    前提需要JDK,TOMCAT 安装成功!!! JDK安装: 1.jdk1.7.0_55.tar.gz 准备安装包 2.tar -zxvf 安装包进行当前位置解压(一般解压在根目录opt下) 3.vi ...

最新文章

  1. hexo + Github 搭建问题综述
  2. 检测你的机子上装了什么版本的.net framework
  3. df 和 du 命令详解
  4. lr_start_timer,lr_get_transaction_duration,lr_get_transaction_wasted_time函数使用总结
  5. 【VC++技术杂谈005】如何与程控仪器通过GPIB接口进行通信
  6. python中使用C类型的数组
  7. 稀疏矩阵转置 java代码_三元组稀疏矩阵的快速转置
  8. 鸿蒙系统微信红包,鸿蒙道红包版
  9. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第3节 两种获取Stream流的方式_5_Stream流中的常用方法_map...
  10. 软件工程第二篇博客(“相等”)
  11. 海康sdk远程门禁_海康威视远程监控Android端SDK调用示例
  12. .\Flash\Blinky.axf: Error: L6200E: Symbol SysTick_Handler multiply defined (by hal_cm0.o and blinky.
  13. 如何理解新技术带来的新资产类别?
  14. 如何修改微信公众号内部网页的头部标签内容
  15. 如何安装imgaug
  16. 计算机word资料,怎样快速找到电脑中的Word文档
  17. PS练习6——文字特效处理
  18. 2021年上海第一批高新技术企业上海熙有网络科技集团榜上有名
  19. CRFEntityExtractor文档
  20. java贪吃蛇博客带图片_java课程设计--贪吃蛇小队博客

热门文章

  1. 给妹子讲python-S01E05字符串的基本用法详解
  2. 我买了个阿里云服务器并在上面部署了一个项目
  3. caffe使用预训练的模型进行finetune
  4. iOS开发 - OC - 苹果为大家提供的后台:CloudKit 的简单使用
  5. 【React】设计高质量的React组件
  6. 完全二叉树的结点数计算
  7. ubuntu 安装J2EE环境
  8. lucky的时光助理-2017.02
  9. Python数据类型(3)
  10. 掌握 cinder-scheduler 调度逻辑 - 每天5分钟玩转 OpenStack(48)