什么是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. CentOS7 安装Python3,开发SocketIO 客户端

    CentOS7安装Python3,开发SocketIO 客户端 参考:https://blog.csdn.net/lovefengruoqing/article/details/79284573 步骤 ...

  2. Sqlalchemy model 文件自动生成

    自动生成Sqlalchemy的models文件的包早用过了,有个字段类型做了改动,调了得10几分钟才搞定.记录下自动生成models文件的python包sqlacodegen sqlacodegen已 ...

  3. Nodejs 使用Protobuf

    参考: Nodejs中使用Protobuf的.proto文件 为了在nodejs服务端使用proto 所以网上找了一些教程,这里实现下. 一 安装protobufjs 在服务端项目文件夹里shift+ ...

  4. 管理菜单 结贴回复 来自 202.112.36.253 的回复: TTL 传输中过期

    发表于 2010-08-26 18:29:14 楼主 其实标题是我执行如下命令时的输出:C:\Users\ChenWeiguang>ping 218.198.81.190 正在 Ping 218 ...

  5. SSO(singlesignon)单点登录

    技术实现机制: 当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录:根据用户提供的登录信息,认证系统进行身份效验,如果通过效验,应该返回给用户一个认证的凭据--ticket ...

  6. laravel 5.4 导出excel表格

    1.在laravel根目录下面找到一个composer.json文件 打开并在require下面加上一句话,如图所示: 注:以后这个excel的版本号可能还会修改 2.执行 composer inst ...

  7. php框架中,try,catch不能用的问题(转载)

    本文转自:http://blog.csdn.net/sangjinchao/article/details/71436557 最近再用laravel框架发现,try catch用了没有效果,依然不能阻 ...

  8. Windows 平台下局域网劫持测试工具 – EvilFoca

    简介 安全测试工具可能含有攻击性,请谨慎适用于安全教学及学习用途,禁止非法利用! EvilFoca是Windows环境下基于.NET FrameWork的一款轻量级的劫持测试工具.与BackTrack ...

  9. ArcGIS AddIn调用ArcMap自带的对话框

    ESRI.ArcGIS.Framework命名空间提供了ArcGIS常用的一些对话框,可以在开发时直接调用这些对话框,而不需要重新去写Form 主要对话框有 1.IColorBrowser/IColo ...

  10. 剑指offer——python【第44题】翻转单词顺序

    题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上.同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思.例如,“student ...