2019独角兽企业重金招聘Python工程师标准>>>
做好了上面几个步骤.我们可以加入测试,测试代码:
执行后ClientMain输出: 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
}
10-18 14:44:21 [INFO 级别][ zookeeper.ZooKeeper ]类 (379 行) Initiating client connection, connectString=localhost:2181 sessionTimeout=5000 watcher=org.I0Itec.zkclient.ZkClient@5d40f8c3
同时,step3中启动的Node和Shard同时搜了2遍.日志:
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
----------------------------------------------
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
当然如果在step3中加入2个shard,它会搜索这2个shard的索引.当同时加入更多的Node,则使用*搜索所有的Node,solrhome1只搜索一个Node.
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