第一种方式:singlecore

1、将solr4.2解压,  拷贝solr-4.2.0\dist\solr-4.2.0.war 至tomcat里的webapps文件夹下,改名成solr.war

2、启动tomcat服务器,目的是在webapps下将solr.war解压出solr文件包,即:Tomcat7\webapps\solr\。不必理会报错。解压出solr文件包之后,关闭tomcat服务器,然后删除solr.war。

3、将文件包 solr-4.2.0\example\solr 拷贝出来,作为solrhome。此处拷贝至 c:\java\ 下

4、配置solrhome。来到Tomcat7\webapps\solr\WEB-INF,找到web.xml,将如下代码加入:

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

启动tomcat服务器,输入localhost:8080/solr 即可看到效果。

-----------------------------------------------------------------------------------

配置完singlecore方式的solr之后,即进行Solrj的测试,简单代码如下:

(注意:需要拷贝jar包至项目中)

public class SolrjTest {

  private static final String URL = "http://localhost:8080/solr";
  public void write() throws Exception{
  SolrServer solrServer = new HttpSolrServer(URL);

  SolrInputDocument doc1 = new SolrInputDocument();

  doc1.addField("id", 1);
  doc1.addField("name", "china beijing");
  SolrInputDocument doc2 = new SolrInputDocument();
  doc2.addField("id", 2);
  doc2.addField("name", "us clinton");
  List<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
  docs.add(doc1);
  docs.add(doc2);
  solrServer.add(docs);
  solrServer.commit();
}

public void search() throws Exception{
  SolrServer solrServer = new HttpSolrServer(URL);
  SolrQuery query = new SolrQuery("beijing");
  QueryResponse response = solrServer.query(query);
  SolrDocumentList documentList = response.getResults();

  System.out.println("文档个数:"+documentList.getNumFound());
  System.out.println("查询时间:"+response.getQTime());
  for (SolrDocument solrDocument : documentList) {
    System.out.println("姓名:"+solrDocument.getFieldValue("name"));
  }
   }
}

第二种方式:multicore

1、与singlecore相同

2、与singlecore相同

3、将文件包 solr-4.2.0\example\multicore 拷贝出来,作为solrhome。此处拷贝至 c:\java\ 下,将文件包名字改为solr

4、配置solrhome:制作一个solr.xml文件,放置于  Tomcat7\conf\Catalina\localhost 目录下。文件内容为

<Context docBase="C:\Java\Tomcat7\webapps\solr" reloadable="true" >
  <Environment name="solr/home" type="java.lang.String" value="C:\Java\solr" override="true" />
</Context>

5、配置 IK 分词器。来到C:\Java\solr\core0\conf,打开schema.xml 在<types></types>中添加如下代码

<fieldType name="text_ik" class="solr.TextField">
  <analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  <analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

需要引入IK的jar包  版本:2012-FF hotfix 1

下载地址:https://code.google.com/p/ik-analyzer/downloads/detail?name=IK%20Analyzer%202012FF_hf1.zip&can=2&q=

1.将 IKAnalyzer.cfg.xml,IKAnalyzer2012FF_u1.jar,stopword.dic 拷贝到tomcat的/webapps/solr/WEB-INF/lib/下面

大功告成。

参考该文:Solr4.2 + Tomcat 7 配置及使用solrnet访问和管理索引服务

转载于:https://www.cnblogs.com/appzhang/p/3932967.html

项目记录:solr4.2 在tomcat7 的两种(singlecore + multicore) 配置安装 及solrj 的初步使用...相关推荐

  1. 在IDEA中将项目部署到Tomcat的方法及两种模式的区别

    转自:https://www.jianshu.com/p/fb0ed26c35d5 1.添加tomcat服务器 点右上角编辑配置 编辑配置 点击左上角+选择tomcat服务器 添加tomcat 配置t ...

  2. Spring Cloud Config采用Git存储时两种常用的配置策略

    由于Spring Cloud Config默认采用了Git存储,相信很多团队在使用Spring Cloud的配置中心时也会采用这样的策略.即便大家都使用了Git存储,可能还有各种不同的配置方式,本文就 ...

  3. React Native项目使用react-apollo实现更新缓存的两种方式

    背景: 举个例子:在显示动态的页面中删除某一条动态之后退出该页,当再进入该页之后这个被删除的动态是否还显示? 显示! 为啥? cache! cache是为了增强用户体验,如果每一次进入一个页面都需要从 ...

  4. Maven项目依赖外部jar进行打包的两种方式

    项目中除了pom.xml依赖之外,有时还依赖了其他jar包,如图: 依赖的方式如下: 点击Project Structure进行项目设置,在Modules中Dependencies标签中点击+号 添加 ...

  5. TouTiao开源项目 分析笔记15 新闻详情之两种类型的实现

    1.预览效果 1.1.首先看一下需要实现的效果. 第一种,文字类型新闻. 第二种,图片类型新闻. 1.2.在NewsArticleTextViewBinder中设置了点击事件 RxView.click ...

  6. centos 7安装matlab的两种方法(桌面安装和命令行安装)

    matlab安装说明 安装之前一直以为命令行安装(静默安装)完就是命令行界面,安装成功后才发现还是有桌面的,还跟桌面安装的一模一样.所以,个人建议对linux不太熟悉的还是用桌面版安装,虽然会有点卡顿 ...

  7. 2021-11-2记一次win7下python两种版本的完全安装

    记一次win7下python两个版本的完全安装 ==**pip要用管理员运行!!!**== ==**pip要用管理员运行!!!**== ==**pip要用管理员运行!!!**== 一.Python简介 ...

  8. 常见的两种python编译器的安装

    常用的python语言编译器有两种,一种是python本身自带的编译器,一种是anaconda编译器(包含了各种机器学习裤,极大方便了使用).下面我分别介绍以下两个编译器安装方法. python安装 ...

  9. ACL访问控制列表 基础、创建ACL访问控制列表的两种方式、配置ACL访问控制列表规则、修改ACL规则的默认步长。子网掩码、反掩码、通配符掩码的区别和作用。

    目录 ACL的组成: 创建ACL访问控制列表的两种的方式: 1.数字命名: 2.字符串命名方式: ACL创建步骤: 1.先创建ACL列表: 进入acl列表: 2.配置ACL的一条条规则: 3.进入需要 ...

最新文章

  1. R语言使用caret包中的createMultiFolds函数对机器学习数据集进行交叉验证抽样、返回的样本列表长度为k×times个、times为组内抽样次数
  2. 查理芒格+终身学习+你的认知就是你的财富的边界
  3. BZOJ4555[HEOI2016/TJOI2016]求和
  4. MyEclipse设置像visual studio一样的智能提示
  5. 微信小程序数据拼接_微信小程序使用原生WebSokcet实现断线重连及数据拼接
  6. 中兴网信发布“广义智慧城市顶层设计框架”
  7. FEEMD-快速EEMD
  8. 如何使用百数低代码开发平台制作问卷调查表?
  9. 学计算机的的用87键键盘可以吗,键盘87和108键区别
  10. Win10有哪些版本?有什么区别?如何选择Win10版本
  11. UVA10859 放置街灯 Placing Lampposts(树状DP)
  12. Eclipse+ GNU ARM Eclipse Plug-in+ Sourcery G++ Lite Edition for ARM+OPENCD+Jlink的开源开发环境。
  13. photoshop 去掉背景
  14. 如何获取百度地图API
  15. Biopython+python 自动化分析蛋白质pdb文件,输出id,序列以及作用位点
  16. dz后台html,建立discuz后台管理页面的模板
  17. 本地ecshop网站怎么上传到服务器,ecshop 上传服务器
  18. c加加高级语言循环结构,高级C语言循环结构程序设计.ppt
  19. 启信宝发布植树节产业洞察:超2000家绿色造纸企业,造纸业迭代落后产能
  20. 5个方法助设计师保持创造力

热门文章

  1. sc7cb27180 士兰微_供应 SILAN/士兰微 SC7A30E SC7A30 LGA10-3A 加速度计/三轴磁传感器
  2. from mysql partition select_通过分区(Partition)提升MySQL性能[原创翻译]
  3. python导入模块介绍_详解Python模块导入方法
  4. 自动操作电脑的软件_技术干货 | 自动透镜植入定位仪
  5. Vue中基于Vuex使用echarts组件动态数据绑定的方法
  6. linux怎么初始命令,linux 第二季 初始linux 目录以及初始命令
  7. ionic4 hammerjs手势事件左滑右滑
  8. 毫秒转换友好的显示格式【刚刚、几秒前,几小时,几天前(3天内) 时间格式化】
  9. linux 查询mysql编码格式_Linux 修改MySQL编码格式
  10. php date t_php date 参数