0

こんにちは、solrj のいくつかのサンプル プログラムに取り組んでおり、正しく接続されているかどうかを判断するのに苦労しています..これは私のコードです

import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.params.ModifiableSolrParams;

import java.net.MalformedURLException;

public class SolrExample {
  public static void main(String[] args) throws MalformedURLException,    SolrServerException {
//SolrServer solr = new CommonsHttpSolrServer("localhost:8983/solr");
SolrServer server = new HttpSolrServer("localhost:8983/solr/");


ModifiableSolrParams params = new ModifiableSolrParams();
params.set("qt", "/spellCheckCompRH");
params.set("q", "epod");
params.set("spellcheck", "on");
params.set("spellcheck.build", "true");

QueryResponse response = server.query(params);
System.out.println("response = " + response);
  }
}

上記のコードの出力は次のとおりです: {time=219.0,sub1={time=125.0,sub1.1={time=0.0}}}

一方、これを使用している場合:

     SolrServer solr = new CommonsHttpSolrServer("localhost:8983/solr");

それは非難されていると言われています..

ローカルホストを介してコンピューターのsolr管理者にアクセスできるため、混乱していますが、プログラムではアクセスできません..

誰かが助けてくれたら、どうもありがとう

4

2 に答える 2

2
  • Solrj 4.x の場合、HttpSolrServer を使用する必要があります。
    SolrServer solrServer = new HttpSolrServer(" http://localhost:8983/solr ");
    または " http://localhost:8983/solr/solrCoreName "

  • おまけに、Solr クラウドの場合、Apache ZooKeeper への URL をパラメーターとして CloudSolrServer を使用できます

詳細については、Apache Solr wiki ページを確認してください: wiki.apache.org/solr/FrontPage

于 2015-01-16T15:28:10.447 に答える