SolrJ 从 Java 连接到 Solr

SolrJ connect to Solr from Java

我正在尝试使用相同版本的 SolrJ 从我的 Java 代码连接到 Solr 服务器 运行 5.3.1。我在 Eclipse 中不断收到一条消息,指出 HttpSolrServer 已被弃用,但在任何地方都找不到它被替换的内容。有谁知道我如何使用当前的 SolrJ 从 Java 连接到 Solr? SolrJ 文档似乎都表明 HttpSolrServer 是受支持的方式,但 Eclipse 对此并不满意。

Eclipse 将每个具有 @Deprecated 注释的 class 标记为已弃用。
HttpSolrServer 确实被弃用了, HttpSolrClient 是它的替代品

SolrClient solrClient = new HttpSolrClient.Builder(solrLocation).build();

public class SolrCient {

private static final Logger LOGGER = Logger.getLogger(SolrCient.class.getName());

private static final String SERVER_URL = "http://localhost:8983/solr/suggest";

public static void main(String[] args) throws IOException, SolrServerException {

    HttpSolrClient solr = new HttpSolrClient(SERVER_URL);

    QueryResponse  response = solr.query(new SolrQuery("*:*"));

    System.out.println(response.toString());

}

}

从 Solr 6.1 开始,这是创建 SolrJ HTTP 客户端的首选方式:

String urlString = "http://localhost:8983/solr/my-collection";
SolrClient solrClient = new HttpSolrClient.Builder(urlString).build();

http://lucene.apache.org/solr/6_5_0/solr-solrj/org/apache/solr/client/solrj/impl/HttpSolrClient.Builder.html

已弃用:

SolrClient 客户端 = new HttpSolrClient(solrLocation);

使用这个:

SolrClient 客户端 = 新 HttpSolrClient.Builder(solrLocation).build();