zoukankan      html  css  js  c++  java
  • Solr

    使用solr搜索引擎服务器:

    1.本人将solr搜索引擎服务和web项目分为两个服务,通过web调用solr服务来实现具体操作(用于自己的试验,在真正项目中还未接触,暂时这样处理)。

    2.均采用Tomcat7,将其拷贝2份,一份用于web项目服务,另一份用于solr搜索引擎服务(这里只是修改了端口号,采用8080和7080两个端口,在运行web项目时,同时要开启另一个服务)。

    3.在web调用solr时,solr4.10.0文件下的一些jar要导到web项目中

    配置Solr搜索引擎服务器对应的Tomcat:

    1.这里我采用的是solr4.10.0的压缩包,将其解压后我们需要处理如下几个文件

    1.1在本人的文件路径下:D:Homesolr-4.10.0solr-4.10.0dist 存在一个solr.war文件,将其放在E:apache-tomcat-7.0.67webapps下,dos启动tomcat,则会自动解压,产生solr文件。(solr文件下的结构和web的部分结构一致),首先修改E:apache-tomcat-7.0.67webappssolrWEB-INF下的web.xml文件,将注释掉的

    <env-entry>
      <env-entry-name>solr/home</env-entry-name>
      <env-entry-value>E:/apache-tomcat-7.0.67/webapps/solr_home</env-entry-value>(这里已经被我修改)
      <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>

    开启。

    1.2 E:/apache-tomcat-7.0.67/webapps/solr_home这个路径是我们操作的第二个文件,solr_home是本人自己创建的,里面存放的内容是solr4.10.0中的(D:Homesolr-4.10.0solr-4.10.0examplesolr)solr下的内容,这里Apache提供了一个collection1案例,我们以后将按照这个案例构建自己的core。

    1.3配置Logging

    将(D:Homesolr-4.10.0solr-4.10.0examplelibext)ext文件中的jar包拷贝到E:apache-tomcat-7.0.67webappssolrWEB-INFlib下,这里是为了在运行时获取相应的运行日志记录。同时需要将(D:Homesolr-4.10.0solr-4.10.0example esources)resources文件下的log4j.properties放到(E:apache-tomcat-7.0.67webappssolrWEB-INFclasses)classes中,如果不存在这个文件夹,手动创建即可。

    一般上述完成就可以访问localhost:8080/solr 界面,而通过这个界面,我们就可以创建我们需要的core,这里的core也就是1.2中讲述的core,创建的同时要在相应文件夹下构建和collection1结构一致的文件,而文件名就是你要创建的core。

    1.4,创建core的过程中可以通过Logging来查看情况,如果出现异常,可以在Logging上看到。(无妨将core文件命名为user,下面用user代替)

    1.5创建user成功的话,你本人会将其和我需要使用的数据库关联。

    关联起来需要对user下的几个文件进行配置:

    E:apache-tomcat-7.0.67webappssolr_homeuserconf下的solrconfig.xml,需要在这里配置

    <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,本人的测试为例:

    <?xml version="1.0" encoding="UTF-8"?>
    <dataConfig>
    <dataSource driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="123456"/>
    <document name="user1">
    <entity name="user1" query="select * from user1" >
    <field column="id1" name="id1"/>
    <field column="username1" name="username1"/>
    <field column="age1" name="age1"/>
    </entity>
    </document>
    </dataConfig>

    这里记得导入相应jar,连接数据库必备的jar,放到E:apache-tomcat-7.0.67webappssolrWEB-INFlib即可。

    同时在schema.xml添加

    <field name="id1" type="int" indexed="true" stored="true"/>
    <field name="username1" type="string" indexed="true" stored="true"/>
    <field name="age1" type="int" indexed="true" stored="true"/>
    <uniqueKey>id1</uniqueKey>

    基本上上述完成,在http://localhost:7080/solr下选择user下的dataimport下导入自己所创建的文档关联的数据库表数据即可。

  • 相关阅读:
    【UVa】And Then There Was One(dp)
    【vijos】1006 晴天小猪历险记之Hill(dijkstra)
    【UVa】Palindromic Subsequence(dp+字典序)
    【UVa】Wavio Sequence(dp)
    【UVa】Salesmen(dp)
    【UVa】Partitioning by Palindromes(dp)
    小结:特殊的技巧
    java 中 进程和线程的区别
    java中的 sleep() 和 wait() 有什么区别?
    Java 静态static 关键字作用
  • 原文地址:https://www.cnblogs.com/krystal0901/p/5540502.html
Copyright © 2011-2022 走看看