最近做了个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. 带着萌新看springboot源码11(springboot启动原理 源码上)

    通过前面这么多讲解,springboot原理应该也大概有个轮廓了,一些基本的配置,从客户端url到controller(配置一些要用的组件,servlet三大组件,处理器映射器,拦截器,视图解析器这些 ...

  2. PE知识复习之PE的两种状态

    PE知识复习之PE的两种状态 一丶熟悉PE的整体结构 从下面依次网上看.可以得出PE结构 其中DOS头有DOS头结构 也就是 IMAGE_DOS_HEADER 关于结构体的各项属性.前边已经写过了.本 ...

  3. 微服务浪潮中,程序猿如何让自己 Be Cloud Native

    前言 CNCF 与 Cloud Native 这两个技术词汇最近频频走进了程序员的视野,一切和他能搭上边的软件意味着标准.开放.时尚,也更能俘获技术哥哥们的心:这篇文章不想去带大家重温这个词汇后面的软 ...

  4. C语言之递归

    递归例子如下: #include <stdio.h> /*函数声明*/ void digui(int n); int main() { ; digui(n); ; } void digui ...

  5. Creating a ROS msg and srv

    msg: msg files are simple text files that describe the fields of a ROS message. They are used to gen ...

  6. Java开发笔记(七十一)容器工具Collections

    清单作为一组数据的有序队列,它在组织形式上与数组有着某些异曲同工之处,数组有专门的数组工具Arrays来进行加工操作,照理清单也应该配备对应的清单工具.当然容器这个大家族确实拥有自己的容器工具Coll ...

  7. Java AQS 概述

    AQS 概述 AQS(队列同步器,AbstractQueuedSynchronizer),是用来构建锁或其他同步组件的核心基础框架(比如 ReentrantLock.ReentrantReadWrit ...

  8. Djiango初识

    加载静态文件 在一个网页中,不仅仅只有一个 html 骨架,还需要 css 样式文件, js 执行文件以及一些图片 等.因此在 DTL 中加载静态文件是一个必须要解决的问题.在 DTL 中,使用 st ...

  9. JavaScript字符串转数字的5种方法及其陷阱

    摘要 :JavaScript 是一个神奇的语言,字符串转数字有 5 种方法,各有各的坑法! String 转换为 Number 有很多种方式,我可以想到的有 5 种! parseInt(num); / ...

  10. JS数组Sort方法的使用

    想用sort方法对数组排下序,代码如下: var nums = "12 645 6 85 81 0 9 365 4 752".split(" ").map(fu ...