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

Solr/Lucene分布式搜索,SolrIntegratekattastep4

2019独角兽企业重金招聘Python工程师标准做好了上面几个步骤.我们可以加入测试,测试代码:packagenet.dkatta;importjava.util.Itera

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

做好了上面几个步骤.我们可以加入测试,测试代码:


package net.dkatta;import java.util.Iterator;
import java.util.Map;import net.sf.katta.client.ClientResult;
import net.sf.katta.util.KattaException;
import net.sf.katta.util.ZkConfiguration;import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrResponse;
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.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.katta.KattaClient;
import org.apache.solr.katta.KattaRequest;
import org.apache.solr.katta.KattaResponse;/***

* Created by IntelliJ IDEA.* User: zhenqin* Date: 12-10-12* Time: 上午11:45* To change this template use File | Settings | File Templates.** 
** @author zhenqin*/
public class ClientMain {public static void main(String[] args) throws KattaException {KattaClient kattaClient = new KattaClient(new ZkConfiguration());
// Client client = new Client(SolrKattaServer.class);SolrQuery query = new SolrQuery();String word = "facet";query.setQuery("content:facet");query.setParam("fl", "title, content, score");// query.addFilterQuery("content:(" + word + ")");query.setRows(10);//设置返回结果条数,如果你时分组查询,你就设置为0query.setSortField("score", SolrQuery.ORDER.desc);//分组排序字段query.add(CommonParams.QT, "standard");System.out.println(query.toString());QueryResponse queryResponse = null;SolrResponse solrResponse = null;KattaRequest request = new KattaRequest(query);try {ClientResult res = kattaClient.request(10 * 1000L, new String[]{"*"}, request);System.out.println(res);java.util.Collection ls = res.getResults();KattaResponse kr = ls.iterator().next();SolrResponse response = kr.getRsp();if(response instanceof QueryResponse) {queryResponse = (QueryResponse)response;System.out.println("========================true");} else {System.out.println("========================false" + response.getClass().getName());queryResponse = new QueryResponse();queryResponse.setResponse(response.getResponse());}System.out.println("共搜索到: " + queryResponse.getResults().size());SolrDocumentList docs = queryResponse.getResults();for (SolrDocument doc : docs) {for (Iterator> iter = doc.iterator(); iter.hasNext();) {Map.Entry entry = iter.next();System.out.print("Key: " + entry.getKey() + " ");System.out.println("Value: " + entry.getValue());}System.out.println("----------------------------------------------");}} catch(Exception e) {e.printStackTrace();}}
}
执行后ClientMain输出:



10-18 14:44:21 [INFO 级别][ zookeeper.ZooKeeper ]类 (379 行) Initiating client connection, connectString=localhost:2181 sessionTimeout=5000 watcher=org.I0Itec.zkclient.ZkClient@5d40f8c3
10-18 14:44:21 [INFO 级别][ zookeeper.ClientCnxn ]类 (1058 行) Opening socket connection to server localhost/127.0.0.1:2181
10-18 14:44:21 [INFO 级别][ zookeeper.ClientCnxn ]类 (947 行) Socket connection established to localhost/127.0.0.1:2181, initiating session
10-18 14:44:21 [INFO 级别][ zookeeper.ClientCnxn ]类 (736 行) Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13a7236897c0009, negotiated timeout = 10000
10-18 14:44:21 [INFO 级别][ zkclient.ZkClient ]类 (449 行) zookeeper state changed (SyncConnected)
10-18 14:44:21 [INFO 级别][ client.Client ]类 (143 行) indices=[solrhome1]
q=content%3Afacet&fl=title%2C+content%2C+score&rows=10&sort=score+desc&qt=standard
ClientResult: 1 results, 0 errors, 1/1 shards (closed) (complete)
========================falseorg.apache.solr.client.solrj.response.SolrResponseBase
共搜索到: 2
Key: sid Value: 7039ce44-20bc-41d4-8278-2377654b3f35
Key: title Value: facet.field
Key: content Value: This param allows you to specify a field which should be treated as a facet
Key: score Value: 0.9991327
----------------------------------------------
Key: sid Value: 832c11d4-e1c1-453d-8a56-a9726d8e3b44
Key: title Value: facet.field
Key: content Value: This param allows you to specify a field which should be treated as a facet
Key: score Value: 0.9991327
----------------------------------------------
同时,step3中启动的Node和Shard同时搜了2遍.日志:



10-18 14:44:22 [INFO 级别][ core.SolrCore ]类 (1386 行) [solrhome1#proxy] webapp=null path=/select params={rows=10&sort=score+desc&fl=sid%2Cscore&q=content%3Afacet&start=0&fsv=true&isShard=true} hits=2 status=0 QTime=20
10-18 14:44:22 [INFO 级别][ core.SolrCore ]类 (1386 行) [solrhome1#proxy] webapp=null path=/select params={rows=10&fl=title%2C+content%2C+score%2Csid&q=content%3Afacet&ids=7039ce44-20bc-41d4-8278-2377654b3f35%2C832c11d4-e1c1-453d-8a56-a9726d8e3b44&isShard=true} status=0 QTime=4
当然如果在step3中加入2个shard,它会搜索这2个shard的索引.当同时加入更多的Node,则使用*搜索所有的Node,solrhome1只搜索一个Node.




转:https://my.oschina.net/zhzhenqin/blog/83746



推荐阅读
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • (三)多表代码生成的实现方法
    本文介绍了一种实现多表代码生成的方法,使用了java代码和org.jeecg框架中的相关类和接口。通过设置主表配置,可以生成父子表的数据模型。 ... [详细]
  • Android系统源码分析Zygote和SystemServer启动过程详解
    本文详细解析了Android系统源码中Zygote和SystemServer的启动过程。首先介绍了系统framework层启动的内容,帮助理解四大组件的启动和管理过程。接着介绍了AMS、PMS等系统服务的作用和调用方式。然后详细分析了Zygote的启动过程,解释了Zygote在Android启动过程中的决定作用。最后通过时序图展示了整个过程。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 006_Redis的List数据类型
    1.List类型是一个链表结构的集合,主要功能有push,pop,获取元素等。List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,List的设 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
author-avatar
我的明天谁2502931447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有