当前位置: 首页 > 知识库问答 >
问题:

使用SolrJ提示Solr查询

慕容昊焜
2023-03-14

我试图使用solrj构建一个solr查询。根据我对Solr-7.5.0的理解,solrj的所有库和依赖项都应该包含在我的Solr安装中。下面是我的/dist文件夹,后面是我的/dist/solrj-lib文件夹

现在,我的查询将被绑定到一个html post表单,但我想让solrj先工作。这是我全部的solrj

    import org.apache.solr.client.solrj.SolrClient;
    import org.apache.solr.client.solrj.SolrQuery;
    import org.apache.solr.client.solrj.HttpSolrClient;

    String queryInput = q;
    SolrQuery query = new SolrQuery(queryInput);
    SolrClient client = new HttpSolrClient.Builder (
        "http://localhost:8983/solr/sqltest")
        .build();
    QueryResponse response = client.query(query);
    SolrDocumentList list = response.getResults();

这将无法编译,因为它无法识别我的类(SolrClient、SolrQuery等)。我肯定现在有数不清的问题,但我不知道从哪里开始。作为一个附带问题,我正在研究其他不在编译代码中的API。其中哪一个更适合用于web应用程序,或者使用solrs native solrj安全吗?

共有1个答案

松德曜
2023-03-14

您可以安全地使用SolrJ——事实上,如果您正在编写Java应用程序,这是与Solr交互的推荐方式。参见使用SolrJ——构建和运行SolrJ应用程序,了解比我下面给出的更多的细节。

我已经从截图中假设您在Windows上-如果您在Linux或OS X上,请替换作为下面的路径分隔符。

要包含SolrJ jar,您需要在运行javac时包含一个-classpath".;path-to-solr-solrj-7.5.0.jar参数。这是编译应用程序所需的唯一jar。

运行它时,您必须包含在solrj-lib路径中找到的jar。您可以通过在文件中包含java的类路径参数来做到这一点。使用java-classpath".; path-to-solrj-lib\*包含目录中的所有jar文件。

 类似资料:
  • 问题内容: 使用Solr建议程序从solrj获取结果的正确方法是什么? 这是我的要求: 但是我发现很难得到答复。我得到响应的方式是这样的: 这似乎对我从响应中获取的对象有很多假设,并且很难预料到错误。 有没有比这更好更好的方法了? 问题答案: 在新版本中,有一个AskerResponse: https://lucene.apache.org/solr/5_3_1/solr- solrj/org/a

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

  • 运行代码后,我检查http://localhost:8983/solr/#/~cores/core1并看到1000000个索引文档。 然后我添加了另一个核心(以与核心1相似的方式命名为核心2),然后再次运行该作业,这一次,我看到核心2没有显示任何文档,只有核心1仍然显示。 有没有人可以建议一下如何使用solr的内核来分发和存储文档,这样我就可以更快地索引数据,我的假设是,如果增加内核的数量,索引的

  • 我按照教程使用Solrj(并更新到最新的Solrj版本6.0.1), 1) 下载Solr 2) 使用从命令行启动solr server solr-6.0.1\bin 看起来一切正常,http://localhost:8983/solr/可以在浏览器中查看 3) 已执行HelloWorld Solrj代码: 例外 org.apache.solr.client.solrj.impl.HttpSolrC

  • 我正在使用SOLRJ(与SOLR 7一起使用),我的索引为文档内容提供了一些名为content_eng、content_ita的字段...它还提供了一个包含文档完整路径的字段(由和处理)。 用户能够在content_xyz字段中进行搜索,这要归功于以下几行:final SolrQuery query=new SolrQuery();setQuery(searchedText);query.set(

  • 我有一个案例,我有一组字段要在Solr中更新。我接收到的输入是映射的形式,键是字段名,值是更新的值。我有一个疑问,在这种情况下,我应该使用curl更新doc还是solrj,在那里我必须将映射转换为solrInputDocument,然后调用add命令。第一种方法会比第二种方法更快吗?