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

[经验分享] Solr中新加项目的配置

[复制链接]

尚未签到

发表于 2016-12-15 10:03:44 | 显示全部楼层 |阅读模式
  我们在solr已安装有的前提下配置一个新的solr项目。


  • 假设solr解压时的目录为SOLR_SET目录;
  • 假设solr存放数据的位置是SOLR_HOME目录;
  • 假设tomcat目录是TOMCAT_HOME目录。


  • 首先将SOLR_SET/example/ 下的整个solr 文件夹拷贝到 SOLR_HOME 目录下,并更名为你项目需要的名字,比如我的叫 gene
  • 修改 SOLR_HOME/conf/solrconfig.xml 文件
  需要更改的地方如下:

<dataDir>${solr.data.dir:SOLR_HOME/gene/data}</dataDir>  
  这主要指明该项目索引数据放的位置
  需要添加的内容如下:

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

   这是加入导入数据的功能,并且指明数据源配置文件的位置,这里是当前目录下的data-config.xml文件
    
     3.  配置数据源配置文件SOLR_HOME/conf/data-config.xml
  需要有以下内容:

<dataConfig>  
<dataSource type="JdbcDataSource"  
driver="com.mysql.jdbc.Driver"  
url="jdbc:mysql://localhost/gene"  
user="root"  
password=""/>   
<document name="content">
<entity name="pmc" query="select PMCID,TITLE,ABS,VENUE from pmc" deltaImportQuery="select PMCID,TITLE,ABS,VENUE from pmc where LAST_MODIFIED &gt; '${dataimporter.last_index_time}'" deltaQuery="select PMCID from pmc where LAST_MODIFIED &gt; '${dataimporter.last_index_time}'">
<field column="PMCID" name="id" />
<field column="TITLE" name="pmctitle" />
<field column="ABS" name="pmcabs" />
<field column="VENUE" name="pmcvenue" />
<entity name="author" query="select NAME from author where  PMCID='${pmc.PMCID}'">
<field column="NAME" name="authorname" />
</entity>
</entity>
</document>
</dataConfig>
   其中<dataSource>标签用来配置数据源信息。<entity>标签用来配置实体,属性query是从数据库中导入哪些字段的sql语句,deltaImportQuery deltaQuery 是用来配置增量导入时使用的sql语句,${dataimporter.last_index_time} 是solr保存的上次索引建立的时间,增量导入的原理就是比较最近一次索引的时间和数据库中某记录最后更新的时间,所以数据库中应该有一个记录更新时间的字段LAST_MODIFIED 类型是timestamp 。<entity>标签中还可以嵌套<entity>来表现一对多关系。
     4. 配置SOLR_HOME/conf/schema.xml 文件
  内容如下:

<?xml version="1.0" encoding="UTF-8" ?>  
<schema name="example" version="1.4">  
<types>      
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>  
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>  
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">  
<analyzer type="index">  
<tokenizer class="solr.StandardTokenizerFactory"/>  
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />  
<filter class="solr.LowerCaseFilterFactory"/>  
</analyzer>  
<analyzer type="query">  
<tokenizer class="solr.StandardTokenizerFactory"/>  
<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"/>  
</analyzer>  
</fieldType>  
<fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>   
</types>  
<fields>
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<field name="pmctitle" type="string" indexed="true" stored="true"  />
<field name="pmcabs" type="string" indexed="true" stored="true"  />
<field name="pmcvenue" type="string" indexed="true" stored="true"  />
<field name="authorname" type="string" indexed="true" stored="true"  multiValued="true"/>
<fields>
<uniqueKey>id</uniqueKey>
<defaultSearchField>contents</defaultSearchField>
<copyField source="id" dest="contents"/>
<copyField source="pmctitle" dest="contents"/>
<copyField source="pmcabs" dest="contents"/>
<copyField source="pmcvenue" dest="contents"/>
<copyField source="authorname" dest="contents"/>
<solrQueryParser defaultOperator="AND"/>
</schema>
   
     5.  在TOMCAT_HOME/conf/Cataline/localhost 下建立gene.xml文件(注意这里的xml文件名一定要与你的solr名字相同,我这里叫gene)
  内容如下:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="SOLR_SET/dist/apache-solr-3.3.0.war" debug="0"
crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="SOLR_HOME/gene"   override="true"/>
</Context>
      6. 因为这里使用了从数据库导入数据的方式,所以需要将数据库的驱动jar包,我这里是mysql-connector-java-5.1.13.jar 以及前面配置的DataImportHandler类的jar文件,我这里是apache-solr-dataimporthandler-3.3.0.jar 放到新生成的solr项目gene 的TOMCAT_HOME/webapps/gene/WEB-INF/lib 目录下(否则会出现Error loading class 的错误),启动Tomcat,打开浏览器输入http://localhost:8080/gene/admin/index.jsp  出现如下,说明配置成功。
  
DSC0000.jpg
 
  7.  数据导入,该部分查看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-314617-1-1.html 上篇帖子: Centos6.3 下apache-solr-3.6.2安装和配置 下篇帖子: Solr中新加项目的配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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