最近做了个solr搜索的demo, 用的是solr7.7,之前网上好多文章搭建solr都是5.5+tomcat。。 自己摆弄了下,发现solr7.7和5.5 的部分文件夹有些改动,没有深究原理也就没有弄成功。

百度最新的7.7,有2篇博客照着做了下,弄好了。。

博客链接:https://www.cnblogs.com/bangzexiong/p/10374783.html

这里粘贴一下java代码吧: 下面是service实现层,用controller调用接口就可以了,这里需要注意的一点是 红色部分的字体 ,这里设置多大,条下面的的resultSize就有多大,numFound 是一共查出的数据的总条数。。比如 numFound是2000  rows设置为10,那么resultSize()的大小就为10 在集合中就只有 10条数据。

demo 链接:

链接:https://pan.baidu.com/s/1P4OjlUnjYaps5IH6M4zIMQ
提取码:xre7

@Service
public class SolrServiceImpl implements SolrService { private static final String solrUrl = "http://localhost:8983/solr/happy"; @Override
public PageBean listEcnomic(String name) {
//PageHelper.startPage(1,20);
ArrayList<EcnomicVo> voList = Lists.newArrayList(); try {
HttpSolrClient solrClient = new HttpSolrClient.Builder(solrUrl).build();
// 创建搜索对象
SolrQuery solrQuery = new SolrQuery();
// 设置搜索条件
solrQuery.set("defType","edismax");
solrQuery.set("mm","100%");
solrQuery.set("q","name:*"+ name +"*");
// 分页参数
solrQuery.setStart(0);
// 设置每页显示多少条 这里的row 决定了result.size row多大 下面的result.size 多大
solrQuery.setRows(10); //发起搜索请求
QueryResponse response = solrClient.query(solrQuery);
// 查询结果
SolrDocumentList results = response.getResults();
// 查询结果总数
long numFound = results.getNumFound();
System.out.println("一共查询出" + numFound + "条数据");
System.out.println(results.size());
for (SolrDocument document : results){
EcnomicVo ecnomicVo = new EcnomicVo();
ecnomicVo.setName(document.getFieldValue("name").toString());
ecnomicVo.setPepole(document.getFieldValue("pepole").toString());
if (document.getFieldValue("createTime") !=null ){
ecnomicVo.setCreateTime(document.getFieldValue("createTime").toString());
}
voList.add(ecnomicVo);
}
System.out.println(voList.size());
PageBean<EcnomicVo> pageBean = new PageBean<>();
pageBean.setTotal(voList.size());
pageBean.setTotalPages(voList.size()/2);
pageBean.setPageNumber(1);
pageBean.setPageSize(2);
pageBean.setPageDatas(voList);
return pageBean;
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}

solr 7.7 搭建和搜索的更多相关文章

  1. 利用SOLR搭建企业搜索平台 之——MultiCore

    Solr Multicore 是 solr 1.3 的新特性.其目是一个solr实例,可以有多个搜索应用. 下面着手来将solr给出的一个example跑出来.这篇文章是基于<利用SOLR搭建企 ...

  2. SOLR搭建企业搜索平台

    一. SOLR搭建企业搜索平台  运行环境:  运行容器:Tomcat6.0.20  Solr版本:apache-solr-1.4.0  分词器:mmseg4j-1.6.2  词库:sogou-dic ...

  3. 第04项目:淘淘商城(SpringMVC+Spring+Mybatis)【第八天】(solr服务器搭建、搜索功能实现)

    https://pan.baidu.com/s/1bptYGAb#list/path=%2F&parentPath=%2Fsharelink389619878-229862621083040 ...

  4. 商城06——solr索引库搭建&solr搜索功能实现&图片显示问题解决

    1.   课程计划 1.搜索工程的搭建 2.linux下solr服务的搭建 3.Solrj使用测试 4.把数据库中的数据导入索引库 5.搜索功能的实现 2.   搜索工程搭建 要实现搜索功能,需要搭建 ...

  5. solr单机版的搭建

    一.solr单机版的搭建 1.运行环境 solr 需要运行在一个Servlet容器中,Solr4.10.3要求jdk使用1.7以上,Solr默认提供Jetty(ja),本教va写的Servlet容器程 ...

  6. Solr集群搭建详细教程(一)

    一.Solr集群的系统架构 注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. SolrCloud(solr 云)是So ...

  7. Solr集群搭建详细教程(二)

    注:欢迎大家转载,非商业用途请在醒目位置注明本文链接和作者名dijia478,商业用途请联系本人dijia478@163.com. 之前步骤:Solr集群搭建详细教程(一) 三.solr集群搭建 注意 ...

  8. 基于Solr和Zookeeper的分布式搜索方案的配置

    1.1 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候 ...

  9. JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

    1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是So ...

随机推荐

  1. Android 开发工具类 18_NetWorkUtil

    检测网络的一个工具包: 1.网络是否可用: 2.判断是否有网络连接: 3.判断 WIFI 网络是否可用: 4.判断 MOBILE 网络是否可用; 5.获取当前网络连接的类型信息: 6.获取当前的网络状 ...

  2. Solr 05 - Solr Web管理界面的基本使用

    目录 1 Dashboard - 仪表盘 2 Logging - 日志信息 3 CoreAdmin - Solr核心 4 Java Properties - Java参数 5 Thread Dump ...

  3. Java的类加载器种类(双亲委派)

    Java类加载器采用双亲委派模型: 1.启动类加载器:这个类加载器负责放在<JAVA_HOME>\lib目录中的,或者被-Xbootclasspath参数所指定的路径中的,并且是虚拟机识别 ...

  4. C语言实现二叉树的创建&遍历

    算法思想(重点是递归的使用)  利用扩展先序遍历序列创建二叉链表 采用类似先序遍历的递归算法,首先读入当前根结点的数据,如果是'.'则将当前 树根置为空,否则申请一个新结点,存入当前根结点的数据,分别 ...

  5. Java开发知识之Java的包装类

    Java开发知识之Java的包装类 一丶什么是包装类 包装类的意思就是对基本数据类型封装成一个类.这些类都是Number的子类.区别就是封装数据类型不同.包含的方法基本相同. 具体可以查询JAVA A ...

  6. Scala(四) —— 集合

    一.List var x = List(1,2,3,4) //x:List[Int] = List(1, 2, 3, 4) var y = List("x","y&quo ...

  7. [转]layui点击左侧导航栏,实现不刷新整个页面,只刷新局部

    本文转自:https://blog.csdn.net/s31415926_004/article/details/84256587 其实这篇文章是给自己看的,以后忘记怎么做回来还能看一下哈哈哈哈哈哈哈 ...

  8. 【c#】队列(Queue)和MSMQ(消息队列)的基础使用

    首先我们知道队列是先进先出的机制,所以在处理并发是个不错的选择.然后就写两个队列的简单应用. Queue 命名空间 命名空间:System.Collections,不在这里做过多的理论解释,这个东西非 ...

  9. STM32-FreeRTOS快速学习之总结1

    1. 基础知识注意:在RTOS中是优先值越高则优先级越高(和ucos/linux的相反) 在移植的时候,主要裁剪FreeRTOS/Source/portable文件夹,该文件夹用来针对不同MCU做的一 ...

  10. Android开发过程中的坑及解决方法收录(六)

    1. file.listFiles 空指针异常 最近在弄个小项目,类似一个文件管理器,需要获得手机存储里的目录之后显示,但是运行过程中出现错误,搜索了资料,得出了以下的解决办法 问题产生的原因: an ...