solr 基本配置,简单的集成与扩展

准备工作  

    1。创建一个目录   例如 D:/java/Solr_Home 

    2。将solr.zip包解压 找到 solr的war包 改名字为solr.war 放入D:/java/Solr_Home路径下面 

    3。找到solr.zip中 /example/solr   中的 solr也存放在D:/java/Solr_Home中

 

第一种 :

              在tomcat安装目录下添加/conf/Catalina/localhost/solr.xml文件 

              文件内容如下 :

                                         <?xml version="1.0" encoding="UTF-8"?>
                                         <Context docBase="D:/java/Solr_Home/solr.war" debug="0" crossContext="true" >  
                                                   <Environment name="solr/home" type="java.lang.String" value="D:/java/Solr_Home/solr" override="true" />  
                                         </Context>

              启动tomcat服务器  在地址栏输入 http://localhost:8080/solr 

              出现

               证明 :成功  (会在tomcat中webapps下面 生成一个项目的文件夹)

             (红色字体为创建的目录路径,这种配置只适合一个服务器对应一个solr

第二种

            依据第一种方法,已经在服务器中的webapps下面生成了项目的文件夹  删除掉  

           1 在tomcat安装目录下添加/conf/Catalina/localhost/solr.xml文件 

           2 D:/java/Solr_Home 下面的solr.war

           修改 webapps 项目文件夹中 的 web.xml文件 最下面 加入

                          <env-entry>
                                    <env-entry-name >solr/home</env-entry-name>
                                   <env-entry-type>java.lang.String</env-entry-type>
                                  <env-entry-value >D:\java\Solr_Home\solr</env-entry-value>  
                         </env-entry>

         

           如果一个服务器下 配置多个  复制 webapps 的项目文件夹 改名字为 solr1  修改web.xml 文件

                       <env-entry>
                                    <env-entry-name >solr/home</env-entry-name>
                                   <env-entry-type>java.lang.String</env-entry-type>
                                  <env-entry-value >D:\java\Solr_Home\solr1</env-entry-value>  
                         </env-entry>

           D:\java\Solr_Home 下面的 solr文件 也要复制一份改名字叫 solr1这种配置只适合一个服务器对应多个solr


与mysql数据库进行集成 

          找到D:\java\Solr_Home\solr\collection1\conf  目录

           1 . 修改 solrconfig.xml 文件

       

   

        在这个下面 加入  <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
                                                <lst name="defaults">
                                                     <str name="config">data-config.xml</str>
                                               </lst>
                                       </requestHandler>

         2 . 在此目录下 添加 data-config.xml 文件 内容 (本地创建的测试库)

               <?xml version="1.0" encoding="UTF-8" ?>
                    <dataConfig>
                           <dataSource type="JdbcDataSource" name="info" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="root"/>

                          <document>
                                  <entity name="article" pk="id" dataSource="info" query="SELECT id,name,password,flag FROM demo" ></entity>
                        </document>
                  </dataConfig>        
     

       3 . 修改schema.xml 文件  

                     

      

           

           


            将上面的 内容 改成下面本地的内容 属性 


            

            


           

             <uniqueKey>id</uniqueKey>

             <!-- <copyField source="name" dest="text"/> -->

            

             将上面的信息修改成这个


             测试 :    输入地址 http://localhost:8080/solr/select?q=*:*

                                           

                            出现测试库中相关数据 


                         1   http://localhost:8080/solr/dataimport?command=full-import   将数据全部导入solr服务器

                              (导入之后会在D:\java\Solr_Home\solr\collection1\data 下面生成索引)

                         2   http://localhost:8080/solr/dataimport?command=status 可以查看运行状态

                         3  当修改data-config.xml 文件配置时运行 http://localhost:8080/solr/dataimport?command=reload-config 可以进行重新加载配置文件

                         4  如果想终止运行 http://localhost:8080/solr/dataimport?command=abort




           Java 代码 简单测试


                      String url = "http://localhost:8080/solr/select?q=*:*" ;
                      GetMethod get = new GetMethod(url);
                      HttpClient httpclient = new HttpClient();
                      int statusCode = httpclient.executeMethod(get);
                      if (statusCode != 200) {  
                           System.err.println("Method failed: "   + get.getStatusLine());  
                      } else {
                          byte[] responseBody = get.getResponseBody();   // 读取内容  
                         System.out.println(new String(responseBody)); //打印xml格式的信息数据
                     }




 

          


         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值