热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SolrJ常用增删查

2019独角兽企业重金招聘Python工程师标准Solr搜索引擎一般是只会进行增删查,对于Solr的数据结构,可以理解为类似MongoDB的类型的

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Solr搜索引擎一般是只会进行增删查,对于Solr的数据结构,可以理解为类似MongoDB的类型的数据库。

与MonogoDB的Schema Free不同。

Solr还是需要自己定义字段,并且做一些设置的。

 

而Solr一般在修改索引的时候,会选择全量更新,所以一般不会有单条索引的更新操作。

 

SolrJ添加索引:

public class SolrJAdd {public static void main(String[] args) {String urlString = "http://localhost:8983/solr";SolrServer solr = new HttpSolrServer(urlString);SolrInputDocument document = new SolrInputDocument();document.addField("id", "552199");document.addField("name", "Gouda cheese wheel");document.addField("price", "49.99");document.addField("weight", 147);//add an array field 针对 multivalue字段String[] features = {"yellow","salty","hard"} ;document.addField("features", features);try {UpdateResponse response = solr.add(document);// Remember to commit your changes!solr.commit();System.out.println("commit!");} catch (SolrServerException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

 

SolrJ删除索引

public class SolrJDelete {public static void main(String[] args) {String urlString = "http://localhost:8983/solr";SolrServer solr = new HttpSolrServer(urlString);try {//删除查询到的索引信息solr.deleteByQuery("id:552199");solr.commit(true, true);System.out.println("delete success!");} catch (SolrServerException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}
}

 

SolrJ查询索引: 

public class SolrJSearcher {public static void main(String[] args) throws SolrServerException {String urlString = "http://localhost:8983/solr";HttpSolrServer solr = new HttpSolrServer(urlString);SolrQuery query = new SolrQuery();//添加查询query.setQuery("cat:music");//添加过滤条件query.addFilterQuery("price:[50 TO 400]");// 排序query.addSort("id", ORDER.asc);// 分页:start开始页,rows每页显示记录条数query.setStart(0);query.setRows(20);// 设置高亮query.setHighlight(true); // 开启高亮组件query.addHighlightField("name");// 高亮字段query.setHighlightSimplePre("");// 标记,高亮关键字前缀query.setHighlightSimplePost("");QueryResponse response = solr.query(query);SolrDocumentList docs = response.getResults();System.out.println("文档个数:" + docs.getNumFound());System.out.println("查询时间:" + response.getQTime());for (SolrDocument doc : docs) {System.out.println(doc.getFieldNames());System.out.println("id: " + doc.getFieldValue("id"));System.out.println("price: " + doc.getFieldValue("price"));System.out.println("name: " + doc.getFieldValue("name"));System.out.println();}}
}

 

SolrJ Facet查询:

public class SolrJFacetSearch {public static void main(String[] args) {String urlString = "http://localhost:8983/solr";SolrServer solr = new HttpSolrServer(urlString);SolrQuery query = new SolrQuery();//Facet为solr中的层次分类查询//分片信息query.setFacet(true).setQuery("*:*").setFacetMinCount(1).setFacetLimit(5)//段//.setFacetPrefix("electronics", "cat").setFacetPrefix("cor")//查询manu、name中关键字前缀是cor的.addFacetField("manu").addFacetField("name");//分片字段try {QueryResponse response = solr.query(query);// 输出查询结果集SolrDocumentList list = response.getResults();System.out.println("Query result nums: " + list.getNumFound());for (int i = 0; i facets = response.getFacetFields();for (FacetField facet : facets) {System.out.println(facet);List facetCounts = facet.getValues();for (FacetField.Count count : facetCounts) {// 关键字 - 出现次数System.out.println(count.getName() + ": "+ count.getCount());}}System.out.println("Search facet [name] filed result: ");// 输出分片信息FacetField facetField = response.getFacetField("name");List facetFields = facetField.getValues();for (Count count : facetFields) {// 关键字 - 出现次数System.out.println(count.getName() + ": " + count.getCount());}} catch (SolrServerException e) {e.printStackTrace();}}
}

 

 Refer to:http://www.blogjava.net/hoojo/archive/2011/10/21/361747.html

 


转:https://my.oschina.net/dacoolbaby/blog/352956



推荐阅读
  • 本文为Codeforces 1294A题目的解析,主要讨论了Collecting Coins整除+不整除问题。文章详细介绍了题目的背景和要求,并给出了解题思路和代码实现。同时提供了在线测评地址和相关参考链接。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • 本文讨论了如何优化解决hdu 1003 java题目的动态规划方法,通过分析加法规则和最大和的性质,提出了一种优化的思路。具体方法是,当从1加到n为负时,即sum(1,n)sum(n,s),可以继续加法计算。同时,还考虑了两种特殊情况:都是负数的情况和有0的情况。最后,通过使用Scanner类来获取输入数据。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了如何在给定的有序字符序列中插入新字符,并保持序列的有序性。通过示例代码演示了插入过程,以及插入后的字符序列。 ... [详细]
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • HDFS2.x新特性
    一、集群间数据拷贝scp实现两个远程主机之间的文件复制scp-rhello.txtroothadoop103:useratguiguhello.txt推pushscp-rr ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
author-avatar
俊然王
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有