import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
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;
import java.util.ArrayList;
import java.util.List; public class SolrInsertTest {
//solr 服务器地址
public static final String solrServerUrl = "http://localhost:8983/solr";
//solrhome下的core
public static final String solrCroeHome = "mycore"; public static String[] docs = {"Solr是一个独立的企业级搜索应用服务器",
"它对外提供类似于Web-service的API接口",
"用户可以通过http请求",
"向搜索引擎服务器提交一定格式的XML文件生成索引",
"也可以通过Http Get操作提出查找请求",
"并得到XML格式的返回结果"}; public static void main(String[] args) {
System.out.println("solr insert test");
// SolrClient client = new HttpSolrClient(solrServerUrl+"/" + solrCroeHome);
SolrClient client = new HttpSolrClient.Builder(solrServerUrl + "/" + solrCroeHome).build(); List<SolrInputDocument> solrDocs = new ArrayList<>();
for (int i = 0; i < docs.length; i++) {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", i);
doc.addField("content_text", docs[i]);
solrDocs.add(doc);
} try {
client.add(solrDocs);
client.commit();
System.out.println("Insert Done");
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally {
try {
client.close();
} catch (IOException e) {
e.printStackTrace();
}
} } @Test
public void testSolrQuery() throws IOException, SolrServerException {
SolrClient client = new HttpSolrClient(solrServerUrl + "/" + solrCroeHome);
SolrQuery query = new SolrQuery("content_text:类似"); // 设置查询关键字
/* query.setQuery("Content:* AND Spare3:1 "); */
// 指定查询返回字段
/* query.setParam("fl", "Content,IndexTime"); */
// 设置高亮
// query.setHighlight(true).setHighlightSimplePre("<span class='red'>")
// .setHighlightSimplePost("</span>");
// query.setParam("hl.fl", "Content");//设置高亮字段
// query.setParam("fl", "ID,Published"); //排除条件 - NOT
//wbQuery.addFilterQuery("OriginType:wb -Spare3:0");
//wbQuery.addFilterQuery("OriginType:wb NOT Spare3:0");
// 时间条件过滤
/* query.addFilterQuery("Content:超哥"); */
/*
* query.addFilterQuery(
* "Published:[1995-12-31T23:59:59.999Z TO 2016-03-06T00:00:00Z]");
**/ // 实现分页的查询
query.setStart(0);
query.setRows(10); // 设定排序,如果需要对field进行排序就必须在schema.xml中对该field配置stored="true"属性
//set会清空原来的sort条件,add不会清空原来的,会在原来的基础上添加 sort=Published asc,Author asc(多条件排序)
// query.setSort(IContentCommon.IndexField.Published.getName(),
// SolrQuery.ORDER.asc);
//
// query.addSort(IContentCommon.IndexField.Published.getName(),
// SolrQuery.ORDER.asc); QueryResponse response = client.query(query);
System.out.println(query);
SolrDocumentList docs = response.getResults();
System.out.println(docs.getNumFound());
for(SolrDocument doc : docs){
Object id = doc.get("id");
System.out.println("id:" + id + ", content:" + doc.get("content_text")); }
client.close(); } @Test
public void testSolrDelete() throws IOException, SolrServerException {
SolrClient client = new HttpSolrClient.Builder(solrServerUrl + "/" + solrCroeHome)
.build(); UpdateResponse response = client.deleteById("0");
int status = response.getStatus();
System.out.println("status:" + status);
client.commit();
client.close();
}
}

Solr简单测试的更多相关文章

  1. TODO:Golang UDP连接简单测试慎用Deadline

    TODO:Golang UDP连接简单测试慎用Deadline UDP 是User Datagram Protocol的简称, 中文名是用户数据报协议,是OSI(Open System Interco ...

  2. .net orm比较之dapper和Entity Framework6的简单测试比较

    .net orm比较之dapper和Entity Framework6的简单测试比较

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(37)-文章发布系统④-百万级数据和千万级数据简单测试 系列目录 我想测试EF在一百万条数据下的显示时间! ...

  4. ORACLE 数据库简单测试

    ORACLE 数据库简单测试 操作系统:Windows 7 – ORACLE:oracle database 10.2.0.4 一.目的 测试 启动监听程序.数据库  非同一个用户的情况,用户是否可以 ...

  5. Javascript的简单测试环境

    在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很好的例子,既让我们得到了一个好用的小工具 ...

  6. struts2+hibernate+spring注解版框架搭建以及简单测试(方便脑补)

    为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...

  7. struts2+hibernate+spring配置版框架搭建以及简单测试(方便脑补)

    为了之后学习的日子里加深对框架的理解和使用,这里将搭建步奏简单写一下,目的主要是方便以后自己回来脑补: 1:File--->New--->Other--->Maven--->M ...

  8. [20190423]简单测试latch nowilling等待模式.txt

    [20190423]简单测试latch nowilling等待模式.txt --//我对这个问题的理解就是如果参数willing=0,表示无法获取该latch,直接退出,再寻找类似的latch.--/ ...

  9. Javascript学习-简单测试环境

    Javascript学习-简单测试环境 在<JavaScript忍者秘籍>2.4测试条件基础知识中,作者给出了一个精简版的assert和assert组的实现,对于初学者而言,这无疑是一个很 ...

随机推荐

  1. LinkedList基本用法

    https://blog.csdn.net/i_lovefish/article/details/8042883

  2. mysql 客户端命令行下 直接查询并导出数据

    mysql原来还能这么导出数据,涨知识了. 方式1: select ....(sql语句) INTO OUTFILE   '/var/lib/mysql/msg_data.csv ' (导出的文件位置 ...

  3. 前端基础-css(1)

    一.css的引入方式 现在的互联网前端分三层: HTML:超文本标记语言.从语义的角度描述页面结构. CSS:层叠样式表.从审美的角度负责页面样式. JS:JavaScript .从交互的角度描述页面 ...

  4. laravel queue队列使用

    一篇文章: laravel中的队列服务跟其他队列服务也没有什么不同,都是最符合人类思维的最简单最普遍的流程:有一个地方存放队列信息,一个PHP进程在运行时将任务写入,另外一个PHP守护进程轮询队列信息 ...

  5. ImageMagick来处理图片,缩放,调整高度等操作

    单个缩放图片 convert 911.jpg -resize 25% 911.jpg 前面是要处理的图片路径,后面是输出的图片路径,我这么写就把原先图片缩放了 批量缩放图片 mogrify -samp ...

  6. python 的两个模块xlwt,xlrd,写入和读取Excel数据

    http://www.cnblogs.com/fireme/p/3887284.html 这上面写的很全,不过我只需要简单的读和写的操作就ok了,下面是我写的读和写入Excel操作 读取Excel数据 ...

  7. delphi连接sql server的字符串2011-10-11 16:07

    delphi连接sql server的字符串2011-10-11 16:07 一.delphi连接sql server 放一个连接组件 ADOConnection, 其它组件TADODataSet,T ...

  8. 看github上有18万star的第一开源项目如何教你学前端编程的

    作为 Github | star 第一开源项目,已经超过18万 star:比之前最火的bootstrap的10万star还要多出8w,freeCodeCamp 越来越受关注,建站两年时间不到已经近40 ...

  9. vue-cli中config目录下的index.js文件详解

    vue-cli脚手架工具config目录下的index.js解析 转载自:http://www.cnblogs.com/ye-hcj/p/7077796.html // see http://vuej ...

  10. centos7 上搭建私有云

    OwnCloud环境搭建 一. 环境搭建 1. 环境需求 服务器操作系统:Centos7.0 外网服务器操作系统:Centos7.0 Php版本号:5.4.16 Mysql版本号:5.5.52 Apa ...