侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Solr/Lucene分布式搜索,Solr Integrate katta step4

2022-06-12 星期日 / 0 评论 / 0 点赞 / 155 阅读 / 5869 字

做好了上面几个步骤.我们可以加入测试,测试代码: package net.dkatta;import java.util.Iterator;import java.util.Map;impor

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


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;/** * <pre> * Created by IntelliJ IDEA. * User: zhenqin * Date: 12-10-12 * Time: 上午11:45 * To change this template use File | Settings | File Templates. * * </pre> * * @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);//设置返回结果条数,如果你时分组查询,你就设置为0        query.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<KattaResponse> res = kattaClient.request(10 * 1000L, new String[]{"*"}, request);            System.out.println(res);            java.util.Collection<KattaResponse> 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<Map.Entry<String, Object>> iter = doc.iterator(); iter.hasNext();) {                    Map.Entry<String, Object> 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@5d40f8c310-18 14:44:21 [INFO 级别][ zookeeper.ClientCnxn ]类 (1058 行) Opening socket connection to server localhost/127.0.0.1:218110-18 14:44:21 [INFO 级别][ zookeeper.ClientCnxn ]类 (947 行) Socket connection established to localhost/127.0.0.1:2181, initiating session10-18 14:44:21 [INFO 级别][ zookeeper.ClientCnxn ]类 (736 行) Session establishment complete on server localhost/127.0.0.1:2181, sessionid = 0x13a7236897c0009, negotiated timeout = 1000010-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=standardClientResult: 1 results, 0 errors, 1/1 shards (closed) (complete)========================falseorg.apache.solr.client.solrj.response.SolrResponseBase共搜索到: 2Key: sid  Value: 7039ce44-20bc-41d4-8278-2377654b3f35Key: title  Value: facet.fieldKey: content  Value: This param allows you to specify a field which should be treated as a facetKey: score  Value: 0.9991327----------------------------------------------Key: sid  Value: 832c11d4-e1c1-453d-8a56-a9726d8e3b44Key: title  Value: facet.fieldKey: content  Value: This param allows you to specify a field which should be treated as a facetKey: 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.



广告 广告

评论区