[英]How to set collection in query in SolrJ
我正在使用在DSE上使用SolrJ进行搜索的系统。 目前,我正在使用Java中的SolrJ实现搜索功能。 我使用基本URL( http:// localhost:PORT / solr )创建了SolrClient,并在尝试查询时尝试指定集合
client.query("collectionName", query);
但是,在我看来,SolrJ忽略了集合,因为我收到以下错误:
/solr/update The requested resource is not available.
当我向SolrClient URL添加集合而不是在查询功能中时,它可以正常工作。 该解决方案使我无法使用单个客户端来请求多个集合,因此我想使用第一个。 有人遇到过这个吗?
编辑:我也检查了6.6。 还是一样。 完整错误:
来自服务器的错误,位于http:// localhost:8983 / solr :预期的mime类型为application / octet-stream,但获得了text / html。 Apache Tomcat / 8.0.47-错误报告H1 {font-family:Tahoma,Arial,sans-serif; color:white; background-color:#525D76; font-size:22px;} H2 {font-family:Tahoma,Arial, sans-serif;颜色:白色;背景颜色:#525D76;字体大小:16px;} H3 {字体系列:Tahoma,Arial,sans-serif;颜色:白色;背景颜色:#525D76;字体大小:14px;} BODY {font-family:Tahoma,Arial,sans-serif; color:black; background-color:white;} B {font-family:Tahoma,Arial,sans-serif; color:white; background-color :#525D76;} P {字体家族:Tahoma,Arial,sans-serif;背景:白色;颜色:黑色;字体大小:12px;} A {颜色:黑色;} A.name {颜色:黑色;} .line {height:1px; 背景颜色:#525D76; 边框:无;}
HTTP状态404-/ solr / update
类型状态报告
消息 / solr / update
描述所请求的资源不可用。
Apache Tomcat / 8.0.47
org.apache.solr.client.solrj.impl.HttpSolrClient $ RemoteSolrException:来自http:// localhost:8983 / solr的服务器错误:预期的mime类型为application / octet-stream,但有text / html。 Apache Tomcat / 8.0.47-错误报告H1 {font-family:Tahoma,Arial,sans-serif; color:white; background-color:#525D76; font-size:22px;} H2 {font-family:Tahoma,Arial, sans-serif;颜色:白色;背景颜色:#525D76;字体大小:16px;} H3 {字体系列:Tahoma,Arial,sans-serif;颜色:白色;背景颜色:#525D76;字体大小:14px;} BODY {字体家族:Tahoma,Arial,sans-serif;颜色:黑色;背景色:白色;} B {font-family:Tahoma,Arial,sans-serif; color:white; background-color :#525D76;} P {字体家族:Tahoma,Arial,sans-serif;背景:白色;颜色:黑色;字体大小:12px;} A {颜色:黑色;} A.name {颜色:黑色;} .line {height:1px; 背景颜色:#525D76; 边框:无;}HTTP状态404-/ solr / update
类型状态报告
消息 / solr / update
描述所请求的资源不可用。
Apache Tomcat / 8.0.47
嗯,这真的很奇怪-刚刚在我的测试环境中在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}
实在不建议使用Solr HTTP API-最好使用CQL集成 :
DSE搜索文档中有许多使用示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.