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

如何在SolrJ中设置查询中的集合

苏承载
2023-03-14
client.query("collectionName", query);

但是,在我看来,SolrJ忽略了收集,因为我得到了以下错误:

/solr/update The requested resource is not available.

当我在SolrClient URL中而不是在查询函数中添加集合时,它工作得很好。这个解决方案阻碍了我使用单个客户端请求多个集合,所以我想使用第一个。有人遇到过吗?

编辑:我也检查了6.6。还是老样子。完全错误:

消息/Solr/Update

描述请求的资源不可用。

类型状态报告

共有1个答案

齐英朗
2023-03-14

嗯,这真的很奇怪--刚刚在我的测试环境中的DSE 6.0.2上测试过--对于我的表(使用标准SolrJ客户端6.6.0):

<dependency>
  <groupId>org.apache.solr</groupId>
  <artifactId>solr-solrj</artifactId>
  <version>6.6.0</version>
</dependency>

代码:

public static void main(String[] args) throws SolrServerException, IOException {
    String url = "http://192.168.0.10:8983/solr";

    SolrClient client = new HttpSolrClient.Builder(url).build();
    SolrQuery query = new SolrQuery();
    query.setQuery("*:*");
    query.addFilterQuery("user:\"krystina.morissette\"");
    query.setRows(10);
    QueryResponse response = client.query("gatling.user_tokens", query);
    SolrDocumentList list = response.getResults();
    System.out.println("Num found=" + list.getNumFound());
    for (SolrDocument doc: list) {
        System.out.println(doc);
    }
}

给我以下信息:

Num found=4
SolrDocument{_uniqueKey=["krystina.morissette","36c8a420-b91f-477c-88b4-59ca8c59c69e"], expires=Wed Jul 25 11:42:13 CEST 2018, created=Wed Jul 25 11:12:13 CEST 2018, id=36c8a420-b91f-477c-88b4-59ca8c59c69e, user=krystina.morissette, nonce=-2015059461}
SolrDocument{_uniqueKey=["krystina.morissette","9ab1c4be-6764-429b-baeb-923ae7139aa9"], expires=Wed Jul 25 11:45:34 CEST 2018, created=Wed Jul 25 11:15:34 CEST 2018, id=9ab1c4be-6764-429b-baeb-923ae7139aa9, user=krystina.morissette, nonce=-239263702}
SolrDocument{_uniqueKey=["krystina.morissette","8bff6a10-06b4-4473-876d-8380af0568cc"], expires=Wed Jul 25 11:47:48 CEST 2018, created=Wed Jul 25 11:17:48 CEST 2018, id=8bff6a10-06b4-4473-876d-8380af0568cc, user=krystina.morissette, nonce=-658876494}
SolrDocument{_uniqueKey=["krystina.morissette","3f011a59-5bdc-4b7e-b465-d83c29cb333f"], expires=Wed Jul 25 11:49:12 CEST 2018, created=Wed Jul 25 11:19:12 CEST 2018, id=3f011a59-5bdc-4b7e-b465-d83c29cb333f, user=krystina.morissette, nonce=-583776467}
 类似资料:
  • 我有一个要求,在Dynamodb中查询表时只需要返回一行。我可以在aws cli中看到一个名为“max items”的参数,它显然限制了查询的结果大小。以下是示例查询: 但我无法在Go中找到任何类似的关键字/属性。 以下是我可以找到的相关内容:如何使用Java设置DynamoDB返回的匹配项的限制?

  • 我想使搜索页面后,我点击它的按钮将被重定向到另一个页面。这一页将是这样的 还有我的路由器看起来像这样 问题是如何在Vue中获取目标页面中的查询值。JS3?这个答案仍然让我困惑,因为没有使用CompositionAPI,也没有在VueJS3中使用

  • 在elasticsearch term查询文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-term-query.html中,声明有一个字段 然而,我无法设置它。我可以设置和而没有问题,但不能设置。 当我运行时,我得到错误状态。 我在哪里搞错了,或者文档是错误的?

  • 问题内容: 我有这样的HQL: 问题是它不理解关键字。有没有一种方法可以运行这样的查询而不将其分为两个子查询? 问题答案: 看一下如何在HQL中进行限价查询? 您不能用hql限制用hql编写的查询。您需要调用Query对象上的setMaxResults,我想这将阻止您对hql子查询施加限制。 这使您可以选择 将其编写为sql查询或 尝试寻找另一种编写hql查询的方法,以便您在子查询中不需要限制。

  • 问题内容: 我有一个实体: 我在说。这是我的DAO方法: 日志说: 请求处理失败;嵌套的异常是java.lang.NullPointerException 并将指针放在这一行: 有时必须为null。那么如何设置null? 问题答案: 如果您查看Query类的文档,setInteger()方法, 它以名称和 原始类型int 作为参数。 当您在 自动装箱 期间传递值为null的包装器类型Integer

  • 问题内容: 建议的用于检查查询是否返回任何结果的惯用法是什么? 例: 我想有几种不同的检查方法,但是我想知道一个有经验的Django用户将如何做。文档中的大多数示例只是忽略了什么都没有发现的情况… 问题答案: