Tôi đang tìm kiếm một chỉ mục Solr với SolrJ và cố gắng để có được lời giải thích Lucene để đăng nhập nó để sử dụng thêm.Làm thế nào để có được giải thích Lucene cho một SolrDocument với Solrj?
Mã này đi như thế này:
SolrServer server = new CommonsHttpSolrServer("solr_url");
SolrQuery solrquery = new SolrQuery();
solrquery.set("fl", "score, id"); // id is a String field
solrquery.set("rows", "1000");
solrquery.set("debugQuery", "on");
solrquery.setQuery("query words here");
try {
QueryResponse response = server.query(solrquery);
SolrDocumentList docs = response.getResults();
Iterator<SolrDocument> dociterator = docs.iterator();
while (dociterator.hasNext())
{
SolrDocument doc = dociterator.next();
String id = (String) doc.getFirstValue(idfield);
Float relevance = (Float) doc.getFirstValue("score");
String explanation = ???;
}
} catch (SolrServerException e) {
e.printStackTrace();
}
I figured rằng response.getEplainMap() sẽ chứa một bản đồ với giá trị như response.getEplainMap() nhận được (id), nhưng có vẻ như rằng explainmap. chỉ chứa null chính với giá trị của tài liệu được tìm thấy gần đây nhất.
Bất kỳ ý tưởng nào về cách giải thích đúng?
Như đã đề cập trong câu trả lời của riêng tôi, các id đã sai (đọc: không tồn tại). Tuy nhiên, nếu tôi đã đọc câu trả lời của bạn trước khi tôi phát hiện ra vấn đề của bản thân mình, tôi đã thấy nó từ bảng điều khiển truy vấn gỡ rối vì tôi tin rằng đầu ra giải nghĩa không có tên/id-thuộc tính giống như trong bài đăng của bạn . Vì vậy, trong một cách bằng cách gửi bài mà bạn giải quyết vấn đề của tôi quá :) – Timo