欢迎使用CSDN-markdown编辑器

单机版solr配置

1、solr介绍
2、solr安装及配置
3、solrj(solr客户端)链接solr
4、solr集群的安装配置
5、与项目整合(搭建搜索服务层)
6、使用protal调用搜索服务,实现商品搜索

卖家:商家,导入索引库
买家:搜索商品 从solr索引库中索引

  1. solr介绍
    solr概念
    • Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务器。Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。
    • Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。
    • Solr使用java开发的一个web应用
    solr特点
    • 高级的全文搜索功能
    • 专为高通量的网络流量进行的优化
    • 基于开放接口(XML和HTTP)的标准
    • 综合的HTML管理界面
    • 可伸缩性-能够有效地复制到另外一个Solr搜索服务器
    • 使用XML配置达到灵活性和适配性
    • 可扩展的插件体系
    Solr vs Lucene
    Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。
    Lucene本质上是搜索库,不是独立的应用程序,而Solr(java写的web项目)是。
    Lucene专注于搜索底层的建设,而Solr专注于企业应用。
    Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业搜索应用的扩展。
    Es
  2. solr的安装
    准备环境
    安装jdk
    安装tomcat
    解压缩:tar -xvzf apache-tomcat-xxx.tar.gz
    Tomcat启动
    ./startup.sh
    ./shutdown.sh

solr安装
3.1.1. 安装包拷贝到linux上,解压

3.1.2. 解压solr-4.10.3.war
将solr-4.10.3/dist\solrXXX.war重命名为solr,复制到tomcat的webapps下

3.1.3. 添加solr的扩展服务包
日志包:/opt/install/solr-4.10.3/example/lib/ext
拷贝到 apache-tomcat-xxx/webapps/solr/WEB-INF/lib下
3.1.4. 复制日志配置文件到solr下
/opt/install/solr-4.10.3/example/resources/log4j.properties
复制到/usr/local/tomcat/webapps/solr/WEB-INF/classes/下
3.1.5. 修改solr/webapps/WEB-INF/web.xml文件
配置solrhome的位置

solr/home
/usr/local/solr/solrhome
Java.lang.String

3.1.6. solrhome和solrcore的安装
1) 创建目录/usr/local/solr/solrhome
2) solrCore的安装
将solr-4.10.3/example/solr/路径下的所有文件复制到
/usr/local/solr/solrhome下
collection1目录就是一个solrcore
3.1.7. 测试
solr配置成功界面
http://192.168.82.180:8085/solr

如果报错500
解决:1)检查solr的应用web.xml配置是否正确
2)重启tomcat
./shutdown.sh
./startup.sh
4. solr基于项目的配置
4.1 配置中文分词器
1. 把IKAnalyzer2012FF_u1.jar 复制到solr的lib下
2. 把扩展词典复制到solr项目的WEB-INF/classes下
3. 配置FieldType 指定IKAnalyzer
修改/usr/local/solr/solrhome/collection1/conf/schema.xml文件
在最后添加FiledType
起名为:text_ika (任意),不能与其他重复


4.2需要的Field
编号(solr默认有id域不需要配置,将主键放在默认的id上)
商品标题
卖点
价格
图片
分类
描述
4.3配置Field
在fields结点内定义具体的字段(类似数据库中的字段),就是field。
field定义包括name,type(为之前定义过的各种FieldType),indexed(是否被索引),stored(是否被储存),multiValued(是否有多个值)等等。









field的定义相当重要,有几个技巧需注意一下,对可能存在多值得字段尽量设置 multiValued属性为true,避免建索引抛出错误;
如果不需要存储相应字段值,尽量将stored属性设为false。
4.4重启tomcat
4.5访问solr服务

4.6测试
4.6.1 solrJ客户端


org.apache.solr
solr-solrj

4.6.2 solrJ的使用
public class SolrJTest {

@Test
public void addDocument() throws Exception {
    //创建一连接
    SolrServer solrServer = new HttpSolrServer("http://10.40.155.196:8080/solr");
    //创建一个文档对象
    SolrInputDocument document = new SolrInputDocument();
    document.addField("id", "1001");
    document.addField("item_title", "锤子手机");
    document.addField("item_price", 2000);
    //把文档对象写入索引库
    solrServer.add(document);
    //提交
    solrServer.commit();
}

@Test
public void deleteDocument() throws Exception {
    //创建一连接
    SolrServer solrServer = new HttpSolrServer("http://192.168.82.154:8080/solr");
    //solrServer.deleteById("test001");
    solrServer.deleteByQuery("*:*");
    solrServer.commit();
}
@Test
public void QuerySolr() throws Exception {
    //创建一连接
    SolrServer solrServer = new HttpSolrServer("http://192.168.82.154:8080/solr");
    SolrQuery solrQuery = new SolrQuery();
    solrQuery.setQuery("100");//设置查询条件
    solrQuery.set("df", "item_price");//item_title  item_category_name 
    //执行查询
    QueryResponse response =  solrServer.query(solrQuery);
    SolrDocumentList document =  response.getResults();
    System.out.println(document);
    for (SolrDocument solrDocument : document) {
        System.out.println(solrDocument.get("item_title")+"--"+solrDocument.get("item_price"));
    }
}

}

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值