SolrJ的入门
什么是SolrJ?
solrj是访问solr服务的java客户端,提供索引和搜索的请求方法,
SolrJ和图形界面操作的区别就类似于数据库中使用jdbc和mysql客户端的区别一样.
我在测试Solrj时候,使用的是java工程

然后添加的jar包分别为:SolrJ \solr-4.10.3\dist\目录下的:

solrj依赖包,\solr-4.10.3\dist\solrj-lib

Solr服务的依赖包,\solr\example\lib\ext

添加&修改索引
1.创建HttpSolrServer对象,通过它和Solr服务器建立连接
2.创建SolrInputDocument对象,然后通过它来添加域
3.通过HttpSolrServer对象将SolrInputDocument添加到索引库
4.提交.
下面是实现的代码:
package com.qingmu; import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
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;
import org.apache.solr.common.SolrInputDocument;
import org.junit.Test; import java.io.IOException; /**
* @Auther:qingmu
* @Description:脚踏实地,只为出人头地
* @Date:Created in 16:01 2019/4/19
*/
public class SolrDemo { // 新增和更新
@Test
public void solrJDemoAddTest() throws IOException, SolrServerException {
// 设置solr服务接口,浏览客户端地址http://192.168.200.128/solr
String baseURL = "http://192.168.200.128:8080/solr";
// 创建Httpserver对象,通过它和Solr服务器创建连接
SolrServer httpSolrServer = new HttpSolrServer(baseURL);
// 在创建SolrInputDocument对象,然后通过它来添加域
SolrInputDocument document = new SolrInputDocument();
document.addField("id", "1");
document.addField("content", "qingmu");
// 把SolrInputDocument对象,添加到索引库中
httpSolrServer.add(document);
// 提交
httpSolrServer.commit();
} // 删除
@Test
public void deleteSolr() throws IOException, SolrServerException {
// 设置solr服务接口,浏览客户端地址为http://192.168.200.128:8080/solr
String baseURL ="http://192.168.200.128:8080/solr";
// 创建HttpSolrServer对象,通过它和Solr对象连接
HttpSolrServer httpSolrServer = new HttpSolrServer(baseURL);
// 连接上以后,创建SolrInputDocument对象,然后通过它来添加到域对象
// httpSolrServer.deleteById("1");
// 全部删除
httpSolrServer.deleteByQuery("*:*");
httpSolrServer.commit();
} //测试查询
@Test
public void testQuery() throws SolrServerException {
String baseURL = "http://192.168.200.128:8080/solr";
HttpSolrServer httpSolrServer = new HttpSolrServer(baseURL);
// 创建查询对象
SolrQuery solrQuery = new SolrQuery();
// 设置条件
solrQuery.setQuery("*:*");
// 发起搜索请求
QueryResponse query = httpSolrServer.query(solrQuery);
// 处理搜索结果
SolrDocumentList response = query.getResults();
// 打印总条数
System.out.println("查询的总条数为:"+response.getNumFound());
for (SolrDocument entries : response) {
System.out.println("id = "+ entries.get("id"));
System.out.println("content = "+ entries.get("product_name"));
} } }
SolrJ的入门的更多相关文章
- Solr的入门知识
一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都 ...
- Solr-全文检索工具简介
一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都是W ...
- 【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词
package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import org.apache.solr. ...
- 【Lucene3.6.2入门系列】第15节_SolrJ高亮
package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import java.util.Map; i ...
- Solr入门之SolrServer实例化方式
随着solr版本的不断升级, 差异越来越大, 从以前的 solr1.2 到现在的 solr4.3, 无论是类还是功能都有很大的变换, 为了能及时跟上新版本的步伐, 在此将新版本的使用做一个简单的入门说 ...
- Solr入门介绍
solr入门案例 solr是apache下的一个全文检索引擎系统. 我们需要在服务器上单独去部署solr, 通过它的客户端工具包solrJ, 就是一个 jar包, 集成到我们项目中来调用服务器中 ...
- Spring Data Solr入门
如何将Solr的应用集成到Spring中? SpringDataSolr就是为了方便Solr的开发所研制的一个框架,其底层是对SolrJ的封装. SpringDataSolr入门小Demo 首先目录结 ...
- Apache Solr入门教程(初学者之旅)
Apache Solr入门教程(初学者之旅) 写在前面:本文涉及solr入门的各方面,建议边思考边实践,相信能帮助你对solr有个清晰全面的了解并能简单实用. 在Apache Solr初学者教程的这个 ...
- JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现
1 学习回顾 1. Lucene 是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容 顺序扫描法 全文检索 3. 什么是全文检索? 这种先创建索引 再 ...
随机推荐
- k8s(3)-Pods和Nodes的概念
Pod是什么? 在前面创建部署时,Kubernetes创建了一个Pod来托管您的应用程序实例.Pod是一个Kubernetes抽象,表示一组一个或多个应用程序容器(如Docker或rkt),以及这些容 ...
- linux查找并替换命令
find ./ -maxdepth 3 -type f -name "*Makefile" |xargs sed -i "s/CXX = g++/CXX = ccac ...
- Windows10环境下使用VisualSVN server搭建SVN服务器
参考: Windows10环境下使用VisualSVN server搭建SVN服务器 要搭建个svn用.之前自己的服务器用的乌龟.后来用了这个VisualSVN server. 具体教程见上链接.暂无 ...
- linux/nginx命令
1.ps查看服务器所有的进程: -aux 显示所有状态 -ef 简洁信息 ps -aux | grep node 第二列是pid,杀掉程序使用kill. ps -ef | grep node 第一列是 ...
- Oracle课程档案,第九天
lsnrctl status:查看监听状态 Oracle网络配置三部分组成:客户端,监听,数据库 配置文件:$ vi $ORACLE_HOME/network/admin/listener.ora v ...
- Python学习之旅(十)
Python基础知识(9):函数(Ⅰ) Python中函数的定义:是逻辑结构和过程化的一种编程方法 定义方法: def test(x): #def:定义函数的关键字 test:函数名 x:形参,也可以 ...
- TXT电子书格式怎样转换成epub格式
怎样将TXT电子书格式转换成epub格式呢?因为很多时候不同的阅读器所支持的电子书格式是有所不同,所以电子书格式转换的问题,在生活中也是会经常出现的问题.如果我们需要将TXT电子书格式转换成epub格 ...
- DEDE暴力破解后台登录页面
DEDE暴力破解后台登录页面 #!/usr/bin/env python '''/* * author = Mochazz * team = 红日安全团队 * env = pyton3 * */ '' ...
- Centos下搭建邮件服务器
一.协议 SMTP:用于发送邮件 POP3:用于接收邮件,接收后会将服务器上邮件删除 IMAP:用于接收邮件,接收后不会删除服务器邮件 二.几个重要的角色 MUA:可以理解为收取邮件的工具,比如thu ...
- word文档发布至博客wordpress网站系统
今天ytkah接到一个需求:将word文档发布到wordpress网站上,因为客户那边习惯用word来编辑文章,想直接将内容导入到wp网站中,其实 Word 已经提供了这样的功能,并且能够保留 Wor ...