什么是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的入门的更多相关文章

  1. Solr的入门知识

      一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都 ...

  2. Solr-全文检索工具简介

    一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都是W ...

  3. 【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词

    package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import org.apache.solr. ...

  4. 【Lucene3.6.2入门系列】第15节_SolrJ高亮

    package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import java.util.Map; i ...

  5. Solr入门之SolrServer实例化方式

    随着solr版本的不断升级, 差异越来越大, 从以前的 solr1.2 到现在的 solr4.3, 无论是类还是功能都有很大的变换, 为了能及时跟上新版本的步伐, 在此将新版本的使用做一个简单的入门说 ...

  6. Solr入门介绍

    solr入门案例 solr是apache下的一个全文检索引擎系统. 我们需要在服务器上单独去部署solr, 通过它的客户端工具包solrJ, 就是一个    jar包, 集成到我们项目中来调用服务器中 ...

  7. Spring Data Solr入门

    如何将Solr的应用集成到Spring中? SpringDataSolr就是为了方便Solr的开发所研制的一个框架,其底层是对SolrJ的封装. SpringDataSolr入门小Demo 首先目录结 ...

  8. Apache Solr入门教程(初学者之旅)

    Apache Solr入门教程(初学者之旅) 写在前面:本文涉及solr入门的各方面,建议边思考边实践,相信能帮助你对solr有个清晰全面的了解并能简单实用. 在Apache Solr初学者教程的这个 ...

  9. JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现

    1 学习回顾 1. Lucene  是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容  顺序扫描法  全文检索 3. 什么是全文检索? 这种先创建索引 再 ...

随机推荐

  1. git log --pretty=format:" "

    控制显示的记录格式,常用的格式占位符写法及其代表的意义如下: 选项 说明%H   提交对象(commit)的完整哈希字串%h    提交对象的简短哈希字串%T    树对象(tree)的完整哈希字串% ...

  2. 工具 - 怎么看微信h5的源码?

    这个问题在我看网易的h5案例的时候萌生的.因为想看他的源码,但是手机微信打开肯定看不了. 以下几种看代码的方法:(页面案例用网易大大刷屏的h5<二零一六娱乐圈画卷>,真的是一个值得我等众生 ...

  3. poj3278Catch That Cow

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 88361   Accepted: 27679 ...

  4. linux应用以及常用命令

    各目录作用"/" :Linux文件系统的入口.也是最高一级的目录."/bin":基本系统所需要的命令,功能和"/usr/bin"类似,这个目 ...

  5. eclipse反编译不起作用

    今天用eclipse安装反编译插件,分别按百度安装了好几个,但是都没起到作用.想想可能是因为我的eclipse是现在最新的版本,可能以前的方法不适用了,所以就自己折腾了一下.以下为教程: 1.首先我的 ...

  6. Tomcat部署工程需注意的三点

    Tomcat部署工程需注意: 1.如果该服务器是第一安装Tomcat,则各位大人应将该Tomcat的解压文件夹 backup 一份,已被不时之用.2.部署时应当注意修改Tomcat安装目录中conf文 ...

  7. python的time

    有时候需要获取并格式化输出把当前时间,需要用到datetime的strftime方法 >>from datetime import datetime >>datetime.no ...

  8. idea遇到的坑

    (1)在main方法中启动报错: 或 经检查是pom.xml文件依赖的问题,解决方法1.将如下截图的<scope>去掉就好了 解决方法2:scope不删掉,在下面这里执行run: (2)如 ...

  9. 用户场景分析i

    名字 学生(注重饮食选择,挑剔) 年龄 20 收入 无 知识层面 大学 使用这个网站的典型场景 中午或者晚上饿了但是不知道想吃什么,又不想随便吃,还是比较挑剔..这时,他就需要通过我们的网站来看其他人 ...

  10. Unified Temporal and Spatial Calibration for Multi-Sensor Systems

    下载链接:点击 为了提高机器人状态估计的准确性和鲁棒性,越来越多的应用依赖于来自多个互补传感器的数据. 为了在传感器融合中获得最佳性能,这些不同的传感器必须在空间上和时间上相互对准.为此,已经开发了许 ...