本文将演示通过java代码完成solr数据的新增、修改与删除。

1、版本约束

CentOS7 工作站

solr-4.10.3

putty

apache-tomcat-8.5.38

2、前提约束

3、新增普通查询类

import org.apache.solr.client.solrj.SolrQuery;

import org.apache.solr.client.solrj.SolrServer;

import org.apache.solr.client.solrj.impl.HttpSolrServer;

import org.apache.solr.client.solrj.response.QueryResponse;

import org.apache.solr.common.SolrDocument;

import org.apache.solr.common.SolrDocumentList;

public class TestQuerySolr {

public static void main(String[] args) throws Exception{

// 第一步:创建一个SolrServer对象

SolrServer solrServer = new HttpSolrServer("http://192.168.100.192:8080/solr/collection1");

// 第二步:创建一个SolrQuery对象。

SolrQuery query = new SolrQuery();

// 第三步:向SolrQuery中添加查询条件、过滤条件。。。

query.setQuery("title:ali");

// 第四步:执行查询。得到一个Response对象。

QueryResponse response = solrServer.query(query);

// 第五步:取查询结果。

SolrDocumentList solrDocumentList = response.getResults();

System.out.println("查询结果的总记录数:" + solrDocumentList.getNumFound());

// 第六步:遍历结果并打印。

for (SolrDocument solrDocument : solrDocumentList) {

System.out.println(solrDocument.get("id"));

System.out.println(solrDocument.get("title"));

}

}

}

执行,查看结果:

4、 新增高亮查询类

import org.apache.solr.client.solrj.SolrQuery;

import org.apache.solr.client.solrj.SolrServer;

import org.apache.solr.client.solrj.impl.HttpSolrServer;

import org.apache.solr.client.solrj.response.QueryResponse;

import org.apache.solr.common.util.NamedList;

public class TestQuerySolr {

public static void main(String[] args) throws Exception{

// 第一步:创建一个SolrServer对象

SolrServer solrServer = new HttpSolrServer("http://192.168.100.192:8080/solr/collection1");

// 第二步:创建一个SolrQuery对象。

SolrQuery query = new SolrQuery();

// 第三步:向SolrQuery中添加查询条件、过滤条件。。。

query.setQuery("title:is");

query.setHighlight(true); // 开启高亮组件或用query.setParam("hl", "true");

query.addHighlightField("title");// 高亮字段

query.setHighlightSimplePre("");//标记高亮关键字前缀

query.setHighlightSimplePost("");//标记高亮关键字后缀

// 第四步:执行查询。得到一个Response对象。

QueryResponse response = solrServer.query(query);

// 第五步:获取高亮结果

NamedList list = (NamedList) response.getResponse().get("highlighting");

for (int i = 0; i < list.size(); i++){

System.out.println("id=" + list.getName(i) + "文档中高亮显示的字段:" + list.getVal(i));

}

}

}

执行,查看结果:

id=1文档中高亮显示的字段:{title=[xiaoli is a haha kid]}

至此,我们完成了java查询solr。

java solr 查询条件_05 java调用solr的api完成数据的查询相关推荐

  1. java版微信朋友圈_java调用个人微信API接口发朋友圈,评论和删除朋友圈

    java调用个人微信API接口发朋友圈,评论和删除朋友圈 /** * 发送朋友圈任务 * @author wechatno:tangjinjinwx * @param ctx * @param vo ...

  2. 制作一个Java即时翻译器——网页抓取调用百度翻译API

    第一次在CSDN写博客,想着记录一下自己一些作业过程中的问题和心得,没想到要用Markdown语言写,说实话我还真没用过呢,还要边学边写.话不多说,进入正题. 1.引言 平时在上网浏览网站或者阅读一些 ...

  3. java 怎么页面授权访问_Java调用Linkedin接口API之:获取授权

    配置领英应用 配置地址:https://www.linkedin.com/secure/developer?newapp= 强烈建议您使用 HTTPS 网址必须是绝对网址 (例如: "htt ...

  4. python账单查询软件_python3.6 通过调用 阿里云 API (非SDK方式) 查询 账单 例子

    特别注意: 报错: b'{"Recommend":"https://error-center.aliyun.com/status/search?Keyword=Missi ...

  5. axios实战学习——调用城市天气api接口数据实现天气查询案例

    文章目录

  6. python摄像头识别快递单号查询_python如何免费对接快递鸟api单号识别查询接口

    (一)接入流程: 1.登录快递鸟官网注册页面注册快递鸟账号 2.登录快递鸟用户管理后台 注:登录快递鸟用户管理后台后获得用户ID和APIKey,此用于保证应用来源的可靠性,避免应用伪造,被不法使用. ...

  7. PHP 调用百度翻译api翻译数据

    百度翻译API的PHP代码,需要申请百度翻译APPID和密钥,这是申请地址http://api.fanyi.baidu.com/api/trans/product/index,代码如下: public ...

  8. Java 实现在线翻译功能 调用微软Bing API

    下面是利用java程序实现翻译功能,调用微软Bing API 注意:代码中的keyId 需要自己申请... (1)首先去 http://code.google.com/p/microsoft-tran ...

  9. ibatis动态查询条件

    ibatis的调试相对困难,出错的时候主要依据是log4生成的log文件和出错提示,这方面要能比较熟练的看懂. 下面这个配置基本上包含了最复杂的功能:分页\搜索\排序\缓存\传值Hash表\返回has ...

最新文章

  1. 信息系统项目管理师-信息系统成本管理核心知识点思维脑图
  2. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
  3. Java EE之旅02 CSS基础
  4. python uwsgi_Python Web 程序使用 uWSGI 部署
  5. Java程序员---技能树
  6. 阿里巴巴的AI革命 | 4天云栖大会干货总结
  7. [python基础]关于中文编码和解码那点事儿
  8. 计算机论文与护理,快速护理论文范文
  9. box-sizing的类型
  10. 程序开发中常用的密码学家的算法推荐清单
  11. Spring Boot 打包成的可执行 jar ,为什么不能被其他项目依赖?
  12. 区块链发展迎来新机遇
  13. 有监督学习,无监督学习,半监督学习和强化学习
  14. 利用Multipart上传文件报错:The field fileUpload exceeds its maximum permitted size of 1048576 bytes
  15. 神奇的三门问题,到底换不换门
  16. java rpm卸载_rpm安装和卸载软件
  17. 计算机科学与技术职业生涯规划,计算机科学与技术职业生涯规划ppt
  18. NAXX Demo2_WYQ_02
  19. 网络危机-负面信息处理
  20. 读书笔记 -《疯狂Java讲义》(第5版)

热门文章

  1. Linux下查找文件方法
  2. 关于MySql链接url参数的设置 专题
  3. js架构设计模式——由项目浅谈JS中MVVM模式
  4. 对于随机变量的标准差standard deviation、样本标准差sample standard deviation、标准误差standard error的解释...
  5. TOAD FOR MYSQL 进行数据插入时乱码的解决办法---MariaDB 5.5
  6. 用ssh建立机器之间的信任机制
  7. Android 应用程序 降低耗电量的一些思路
  8. 海生《我不是你的玩偶》关注颇高
  9. linux命令作为子进程标记,Linux基础命令---显示进程ps
  10. linux改变该进程优先级,linux – 是nice()用于更改线程优先级或进程优先级吗?