【问题标题】:Cannot find symbol error in solr integration with java在 solr 与 java 的集成中找不到符号错误
【发布时间】:2015-08-24 09:13:25
【问题描述】:

我是 solr 的初学者,我正在尝试从 java 应用程序(在 play 框架上)查询 solr。 我已将以下 jar 文件包含到我的 lib 目录中

apache-solr-solrj-*.jar
commons-codec-1.3.jar
commons-httpclient-3.1.jar
commons-io-1.4.jar
jcl-over-slf4j-1.5.5.jar
slf4j-api-1.5.5.jar

按照http://www.solrtutorial.com/solrj-tutorial.html的指示

我的代码是

import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrDocumentList;

 public static Result getRecipesAndVariants(String searchString){
    JsonNode jnode = null;
 HttpSolrServer solr = new HttpSolrServer("http://localhost:8983/solr/dbcollection");

SolrQuery query = new SolrQuery();
query.setQuery("fiction");

query.setFields("id","title","author");
query.setStart(0);    
query.set("defType", "edismax");

QueryResponse response = solr.query(query);
SolrDocumentList results = response.getResults();
  for (int i = 0; i < results.size(); ++i) {
  System.out.println("from solr : "+results.get(i));
}

我得到的错误是 错误:找不到符号 HttpSolrServer solr = new HttpSolrServer("http://localhost:8983/solr/dbcollection"); 请帮忙

【问题讨论】:

  • 你在用什么IDE,比如eclipse?
  • 不,我没有使用任何 ide

标签: java solr solrj


【解决方案1】:

我认为问题在于您的 jar 文件apache-solr-solrj-*.jar 您必须添加全名而不是使用正则表达式。

【讨论】:

  • 对不起,这是一个错字,我包含的文件是 apache-solr-solrj-1.4.0.jar
  • 它仍然无法正常工作吗?,您使用的是正确的类路径吗?你能把你的命令编译代码吗?
【解决方案2】:

HttpSolrServer 甚至不是solrj 1.4 api 的一部分。我附上了grepcode的截图。为什么不使用最新或更高版本的 solrj api。 solrj 4.0 包含 HttpSolrServer 类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-20
    • 2013-12-06
    • 2016-07-22
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多