1、首先导入solrj需要的的架包
2、需要注意的是低版本是solr是使用SolrServer进行URL实例的,5.0之后已经使用SolrClient替代这个类了,在添加之后首先我们需要根据schema.xml配置一下我们的分词器
这里的msg_all还需要在schema.xml中配置
它的主要作用是将msg_title,msg_content两个域的值拷贝到msg_all域中,我们在搜索的时候可以只搜索这个msg_all域就可以了,
solr默认搜索需要带上域,比如
solr更改默认搜索域的地方也在schema.xml,它默认是搜索text域的,但是5.0之后不在这里配置默认搜索域了,它的文档也告诉我们,在solrconfig.xml中配置
在solrconfig.xml中配置默认搜素域,这样我们就可以按照我们自己的域进行搜索了
配置好以上,就可以使用代码进行CURD
private final static String URL="http://localhost:8080/solr/java";
public SolrClient server=null;
@Before
public void init() throws Exception{
server=new HttpSolrClient(URL);
}
删除所有分词
//删除所有分词
@Test
public void testDel() throws Exception{
server.deleteByQuery("*:*");
server.commit();//先删除 基于query的删除 会删除所有建立的索引文件
}
增加分词
@Test
public void testAdd() throws Exception{
SolrInputDocument doc=new SolrInputDocument();
doc.addField("id", "3");
doc.addField("msg_title", "新浪微博");
doc.addField("msg_content", "我有一个微博帐号名字叫做什么呢?");
server.add(doc);
server.commit();
}
基于Bean增加分词
@Test
public void test03() throws Exception{
List<Message> msgs=new ArrayList<Message>();
msgs.add(new Message("4", "第四个测试solr测试文件", new String[]{"中华人民共和国万岁","中华上下五千年那年"}));
msgs.add(new Message("5", "第5个好朋友是什么意思呢?", new String[]{"上海是个好地方","歌唱我们亲爱的祖国曾经走过千山万水"}));
server.addBeans(msgs);
server.commit();
}
查询结果
@Test
public void test04() throws Exception{
//定义查询内容 * 代表查询所有 这个是基于结果集
SolrQuery query = new SolrQuery("solr");
query.setStart(0);//起始页
query.setRows(3);//每页显示数量
QueryResponse rsp = server.query( query );
SolrDocumentList results = rsp.getResults();
System.out.println(results.getNumFound());//查询总条数
for(SolrDocument doc:results){
System.out.println(doc);
}
}
将查询结果集封装为对象Bean
@Test
public void test05() throws Exception{
SolrQuery query = new SolrQuery("中华");// * 号 是查询 所有的数据
QueryResponse rsp = server.query( query );
List<Message> beans = rsp.getBeans(Message.class);//这个不能获取查询的总数了 也不能高亮
for(Message message:beans){
System.out.println(message.toString());
}
}
将结果集高亮显示
@Test
public void test06() throws Exception{
//定义查询内容 * 代表查询所有 这个是基于结果集
SolrQuery query = new SolrQuery("solr");
query.setStart(0);//起始页
query.setRows(5);//每页显示数量
query.setParam("hl.fl", "msg_title,msg_content");//设置哪些字段域会高亮显示
query.setHighlight(true).setHighlightSimplePre("<span class='hight'>")
.setHighlightSimplePost("</span>");
QueryResponse rsp = server.query( query );
SolrDocumentList results = rsp.getResults();
System.out.println(results.getNumFound());//查询总条数
for(SolrDocument doc:results){
String id = (String) doc.getFieldValue("id"); //id is the uniqueKey field
if(rsp.getHighlighting().get(id)!=null){
//高亮必须要求存储 不存储的话 没法添加高亮
System.out.println(rsp.getHighlighting().get(id).get("msg_title"));
}
}
}
ok,solr的基本使用就完成了
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java整合solr
# solr
# java
# 开发
# java操作solr实现查询功能的实例
# solr在java中的使用实例代码
# java多线程处理执行solr创建索引示例
# maven项目下solr和spring的整合配置详解
# Ubuntu16.04安装部署solr7的图文详细教程
# linux下安装solr的教程详解
# SpringBoot整合Redis、ApachSolr和SpringSession的示例
# 启动Solr提示Java版本低问题解决方案
# 就可以
# 每页
# 中华
# 查询结果
# 条数
# 自己的
# 的是
# 是个
# 是基于
# 起始页
# 也在
# 要在
# 好朋友
# 帐号
# 告诉我们
# 什么呢
# 千山万水
# 那年
# 还需
# 中华人民共和国
相关文章:
建站之星安装模板失败:服务器环境不兼容?
家具网站制作软件,家具厂怎么跑业务?
如何通过二级域名建站提升品牌影响力?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
建站之星安装后界面空白如何解决?
建站主机选哪种环境更利于SEO优化?
官网网站制作腾讯审核要多久,联想路由器newifi官网
制作假网页,招聘网的薪资待遇,会有靠谱的吗?一面试又各种折扣?
javascript中对象的定义、使用以及对象和原型链操作小结
网站制作软件有哪些,制图软件有哪些?
建站10G流量真的够用吗?如何应对访问高峰?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
建站与域名管理如何高效结合?
制作宣传网站的软件,小红书可以宣传网站吗?
TestNG的testng.xml配置文件怎么写
建站主机数据库如何配置才能提升网站性能?
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
内部网站制作流程,如何建立公司内部网站?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
制作网站的软件免费下载,免费制作app哪个平台好?
建设网站制作价格,怎样建立自己的公司网站?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
如何用花生壳三步快速搭建专属网站?
郑州企业网站制作公司,郑州招聘网站有哪些?
b2c电商网站制作流程,b2c水平综合的电商平台?
如何将凡科建站内容保存为本地文件?
小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?
如何配置IIS站点权限与局域网访问?
C#如何序列化对象为XML XmlSerializer用法
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何快速使用云服务器搭建个人网站?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
建站之星安装后如何自定义网站颜色与字体?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
图册素材网站设计制作软件,图册的导出方式有几种?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
制作网页的网站有哪些,电脑上怎么做网页?
如何生成腾讯云建站专用兑换码?
php能控制zigbee模块吗_php通过串口与cc2530 zigbee通信【介绍】
如何用美橙互联一键搭建多站合一网站?
在线制作视频的网站有哪些,电脑如何制作视频短片?
如何快速搭建高效可靠的建站解决方案?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
广州建站公司哪家好?十大优质服务商推荐
建站之星客服服务时间及联系方式如何?
长沙做网站要多少钱,长沙国安网络怎么样?
建站主机如何选?性能与价格怎样平衡?
*请认真填写需求信息,我们会在24小时内与您取得联系。