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. 什么是全文检索? 这种先创建索引 再 ...
随机推荐
- MySQL 5.7新特性之generated column
MySQL 5.7引入了generated column,这篇文章简单地介绍了generated column的使用方法和注意事项,为读者了解MySQL 5.7提供一个快速的.完整的教程.这篇文章围绕 ...
- sanchi
修炼之路阶段1能简单处理html+css+js前端页面,可实现管理后台前端页面 熟练安装php的web运行环境,并调整配置,会自行安装php扩展 熟练数据库操作,清楚为何使用pdo而不使用mysql等 ...
- nvm的安装
安装前可先卸载原来的node, npm, 安装成功后,可用nvm装node 一.用nvm-noinstall.zip安装 1.nvm-windows 下载 https://github.com/cor ...
- package.json文件配置信息
1.概述 每个项目的根目录下面,一般都有一个package.json文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据).npm install命令根据这个配置文 ...
- 网页中顶部banner图自适应css
//test.css .index-banner-top { width: 100%; background: url(../imgs/guanyu.png) no-repeat center cen ...
- SQL 资源整理
https://linux.linuxidc.com/index.php 资源链接:linux.linuxidc.com SQL必知必会(第4版)是SQL经典畅销书,内容丰富,简洁实用.本书是麻省理工 ...
- javascript的数组之filter()
filter()方法创建一个新数组,其包含通过回调函数测试的所有元素. const words = ['spray', 'limit', 'elite', 'exuberant', 'destruct ...
- UML关系实现、泛化,依赖、组合
图片via<大话设计模式> UML一目了然
- AJAX方法讲解
Ajax的方法讲解 Ajax 异步请求,有点: 调高用户的体验度, 降低网络传输量 $.load() //异步加载页面 $.post() Post 异步请求 $.post("url请求地址 ...
- CRM项目自定义的知识点
python manage.py shell #自动配置环境 a = models.CustomerInfo #实例对象可以a._meta # dir 可以查看字段方法 a._meta.app_lab ...