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. 什么是全文检索? 这种先创建索引 再 ...
随机推荐
- 转载:VOC2007数据集制作
转载自:https://blog.csdn.net/gaohuazhao/article/details/60871886 另外,可参考:https://blog.csdn.net/dcxhun3/a ...
- [原]Jenkins(二十) jenkins再出发之Error: Opening Robot Framework log failed
错误缘由:使用plugin [public robot framework test results] 生成的HTML文件都无法正常打开. 解决方案: Connect on your jenkin ...
- D5 F
最近见到了好多跟排列有关的状压dp,好像略微会了一点,用 dp[i][s][j]表示第i位状态为s选择j的方案数,然后递推. 早起大概可以提高人的智商但是会导致人甚至不清,初始化写错了自闭了半个小时 ...
- Java 8 Stream API说明
Java 8增加了很多强大的功能,流(stream)就是其中之一.现在对api的使用做个说明: map 对流中的元素做转换,目前jdk提供了mapToInt,mapToLong,mapToDouble ...
- vue问题大全
什么是 mvvm? MVVM 是 Model-View-ViewModel 的缩写.mvvm 是一种设计思想.Model 层代表数据模型,也可以在 Model 中定义数据修改和操作的业务逻辑:View ...
- Linux下一台服务器Redis主从复制(master-slave)配置
主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 master用来写数据,slave用来读数据,经统计:网站的读写比率 ...
- iOS 如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用?
如果页面 A 跳转到 页面 B,A 的 viewDidDisappear 方法和 B 的 viewDidAppear 方法哪个先调用? 1. - (void)pushViewController:(U ...
- 关于 spring MVC 配置自动扫描中 use-default-filters 属性
1.springMVC 设置扫描 Bean 的两种常见写法 1.1.先看第一种常见的配置:默认 <!-- 配置Controller扫描 --> <context:component- ...
- CentOS6.5安装pip
首先重要的事情说三遍,因为可能有程序依赖目前的python2环境,比如yum: 不要动现有的python2环境! 不要动现有的python2环境! 不要动现有的python2环境! 如果你动了,yum ...
- JAVA:IDEA使用Hibernate(2)
1.打开IDEA新建项目 勾选Hibernate.勾选下方生成相关配置和类 下方选择Download,如果使用本地已经下载的包则选择 Use Library ,路径选到包里面的require里导入即可 ...