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

[经验分享] windows下搭建solr 6.2.1服务器二

[复制链接]

尚未签到

发表于 2017-3-3 07:26:00 | 显示全部楼层 |阅读模式
  修改各种配置文件。
  1、修改solrhome下的solr.xml文件
  注解掉zookeeper搭建集群配置,我们后面会采用master-slave的形式。
  至于zookeeper的形式可以阅读以下这篇文章【solrCloud集群配置指导】:http://www.aboutyun.com/thread-9432-1-1.html


  • <!-- 结合zookeeper配置solrColound start -->  
  •   <!-- 采用master-slave的方式
  •   <solrcloud>  

  •     <str name="host">${host:}</str>  
  •     <int name="hostPort">${jetty.port:8983}</int>  
  •     <str name="hostContext">${hostContext:solr}</str>  

  •     <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>  

  •     <int name="zkClientTimeout">${zkClientTimeout:30000}</int>  
  •     <int name="distribUpdateSoTimeout">${distribUpdateSoTimeout:600000}</int>  
  •     <int name="distribUpdateConnTimeout">${distribUpdateConnTimeout:60000}</int>  

  •   </solrcloud>  

  •   <shardHandlerFactory name="shardHandlerFactory"  
  •     class="HttpShardHandlerFactory">  
  •     <int name="socketTimeout">${socketTimeout:600000}</int>  
  •     <int name="connTimeout">${connTimeout:60000}</int>  
  •   </shardHandlerFactory>  
  •   -->  
  • <!-- 结合zookeeper配置solrColound end -->  
  2、在sorlhome文件夹下创建【my_solr】文件夹。
  3、在【my_solr】文件夹中添加core.properties配置,内容如下:


  • name=my_solr  
  这个name的值实际上就core的名称,可以任意命名,为了保证统一和方便阅读,个人觉得最好和文件夹名称一致。
  4、将【solr-6.2.1\example\example-DIH\solr\solr】下的conf文件夹拷贝到【my_solr】文件夹下。包含如下文件:
DSC0000.jpg

  【conf】中文件目录如下:
DSC0001.jpg

  5、solr-5.0 以上默认对schema的管理是使用managed-schema,不能手动修改,需要使用Schema Restful的API操作。
  如果要想手动修改配置,把【conf】文件夹中managed-schema拷贝一份修改为schema.xml,在solrconfig.xml中修改如下:


  • <codecFactory class="solr.SchemaCodecFactory"/>  
  •   <!-- 解除managed-schema管理模式 start -->  
  •   <schemaFactory class="ClassicIndexSchemaFactory"/>  
  •   <!-- 解除managed-schema管理模式 end -->  
  重启tomcat8,可能会报错,查看tomcat日志发现,比喻:
  缺少DataImportHandler的jar等,那么将【solr-6.0.0\dist】下的solr-dataimporthandler-6.0.0.jar和solr-dataimporthandler-extras-6.0.0.jar
  拷贝到【apache-tomcat-8.0.33\webapps\solr\WEB-INF\lib】下。
  重启tomcat8。如果缺少其他jar包,根据报错信息添加即可。没有异常,
  访问:【http://localhost:8080/solr/index.html#/】
  选择my_solr,会出现如下界面:
DSC0002.png

  

  至此其实由于没有索引数据,其实solr是个空壳,那么下面写一个应用程序插入solr索引数据。
  参考:http://www.open-open.com/lib/view/open1452062296995.html
  1、首先需要修改schema.xml文件,添加


  • <field name="content_test" type="text_general" indexed="true" stored="true" multiValued="true"/>  
  field的属性和配置,可以google一下schema.xml 说明很多,用法也很多,这里就不赘述。
  2、添加索引数据,代码如下:
  编写过程中可能会报错,最简便的方法是将web-inf下lib里所有jar包添加进来,然后运行,出什么错,就添加什么jar包即可。


  • package com.solr.insertData;  


  • import java.io.IOException;  
  • import java.util.ArrayList;  
  • import java.util.List;  

  • import org.apache.solr.client.solrj.SolrClient;  
  • import org.apache.solr.client.solrj.SolrServerException;  
  • import org.apache.solr.client.solrj.impl.HttpSolrClient;  
  • import org.apache.solr.common.SolrInputDocument;  

  • public class InsertProgarm {  
  •     //solr 服务器地址  
  •     public static final String solrServerUrl = "http://localhost:8080/solr";  
  •     //solrhome下的core  
  •     public static final String solrCroeHome = "my_solr";  
  •     //待索引、查询字段  
  •     public static String[] docs = {"Solr是一个独立的企业级搜索应用服务器",  
  •                                     "它对外提供类似于Web-service的API接口",  
  •                                     "用户可以通过http请求",  
  •                                      "向搜索引擎服务器提交一定格式的XML文件生成索引",  
  •                                     "也可以通过Http Get操作提出查找请求",  
  •                                     "并得到XML格式的返回结果"};  
  •     public static void main(String[] args) {  
  •         SolrClient client = getSolrClient();
  •         int i=0;  
  •         List<SolrInputDocument> solrDocs = new ArrayList<SolrInputDocument>();  
  •         for (String content : docs) {  
  •             SolrInputDocument doc = new SolrInputDocument();  
  •             doc.addField("id", i++);  
  •             doc.addField("content_test", content);  
  •             solrDocs.add(doc);
  •         }
  •         try {  
  •             client.add(solrDocs);
  •             client.commit();
  •         } catch (SolrServerException e) {  
  •             // TODO Auto-generated catch block  
  •             e.printStackTrace();
  •         } catch (IOException e) {  
  •             // TODO Auto-generated catch block  
  •             e.printStackTrace();
  •         }

  •     }
  •     public static SolrClient getSolrClient(){  
  •         return new HttpSolrClient(solrServerUrl+"/"+solrCroeHome);  
  •     }

  • }
  3、运行成功后,会在【solrhome/my_solr】文件夹下创建一个【data】的文件夹,这个文件夹中的内容就是我们的solr索引。
  其实其对于的是solconfig.xml中如下配置:


  • <!-- Data Directory

  •        Used to specify an alternate directory to hold all index data
  •        other than the default ./data under the Solr home.  If
  •        replication is in use, this should match the replication
  •        configuration.
  •     -->  
  •   <dataDir>${solr.data.dir:}</dataDir>  
  4、访问http://localhost:8080/solr/index.html选择【my_solr】core,选择query得到如下界面:
DSC0003.jpg



  红色区域是针对不同的ui,因为浏览器版本问题,我这里面选择使用【Use original UI】,会跳转到http://localhost:8080/solr/old.html#/
  选择【my_solr】core,选择query,点击【Execute Query】查询结果如下:
DSC0004.jpg

  其实其访问的url实际为:http://localhost:8080/solr/my_solr/select?q=*%3A*&wt=json&indent=true
  至于q、wt、indent等参数,代表的含义,可以搜索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-349398-1-1.html 上篇帖子: 微信公众号开发之项目导入 下篇帖子: ActiveMQ5.14.1+Zookeeper3.4.9高可用伪分布式部署
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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