我正在Solr中對不同機器上的4個不同solr服務器執行分佈式搜索。我已經將我的課程擴展到了查詢,並且我想執行分佈式搜索。我使用solrj創建了一個solr查詢。但是,當我查詢solr有時它會給我一個正確的結果,有時不正確。只有當某些分片拋出查詢分析異常時,它纔給出錯誤的結果。所以我的問題是我可以在solr中執行分佈式搜索。我正在做分佈式搜索搜索的課程大綱如下。如何在solr中執行分佈式搜索
public class CutomClass extends Query {
// some other code....
public Weight createWeight(IndexSearcher searcher1) throws IOException {
SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.add(ShardParams.SHARDS, getShards);
query.setStart(0);
query.setRows(0);
query.set("sort", "score desc");
query.setFacet(true);
query.addFacetField("CLIENT");
query.setFacetMinCount(1);
QueryResponse queryResponse = solrServer.query(query, SolrRequest.METHOD.POST);
}
// some other code....
}
有時它會在某些碎片上給出follwing解析異常,並且結果出錯。
org.apache.solr.client.solrj.impl.HttpSolrServer $ RemoteSolrException:org.apache.solr.search.SyntaxError:org.apache.lucene.queryParser.ParseException:無法解析 ':':遇到「 「在第1行第0列。
當你發生錯誤時,你發送了什麼查詢?如果你的查詢包含「:」它需要被轉義,因爲:是字段:文本分隔符。編輯:Nvm,我剛剛看到你的編輯。 –