簡體   English   中英

Solr AnalyticsQuery API通過與查詢不匹配的文檔返回分析

[英]Solr AnalyticsQuery API returns analytics by documents that don't match query

Solr AnalyticsQuery API通過與查詢不匹配的文檔返回分析。

我在Solr中有一個名為“文檔”的核心。 有一些字段,例如“ id”,“ url”,“ text”,“ domain”。 我還有ResourceAnalyticsCollector,它計算每個資源屬於多少個文檔。 資源分析結果的示例是:

資源:{

  • example.com:456
  • example2.com:123
  • ...

}

我第一次在一個域查詢時發現問題,但分析返回的結果很少。

例:

Solr查詢: domain:example.com

該查詢返回的文檔數:1000(所有這些文檔都屬於example.com

分析結果:

資源:{

  • example.com:700
  • example2.com:100
  • example3.com:100
  • example4.com:100

}

我通過/select搜索處理程序查找了所有文檔,並且所有這些文檔都屬於example.com域。

但是,當我查看文檔的分析數據時,發現有許多文檔與查詢不匹配。 但是文件數是一樣的。

這是我的分析模塊:

public class ResourceAnalyticsCollector extends DelegatingCollector{

    public ResourceAnalyticsCollector(ResponseBuilder rb, IndexSearcher searcher) {
        this.rb = rb;
        this.searcher = searcher;
    }

    @Override
    public void collect(int docNum){
        Document doc;
        doc = searcher.doc(docNum);

             //Output document id for logs
        String docId = doc.get(AnalyticsConstants.ID_SOLR_FIELD);
        System.out.println("Doc id = " + docId);

        documentList.add(doc);
        delegate.collect(docNum);
    }

    @Override
    public void finish(){
        rb.rsp.add(TOTAL_RESULT_FIELD, this.getAnalyticsContext(documentList));
    }

我認為這是Solr的錯誤。 但是,如果有人可以幫助我解決這個問題,那就太好了!

我已經使用核心功能創建了迷你版分析。 文件名“ Analytics_API_problem.rar”。 您可以通過以下鏈接下載它

我猜您需要使用&fq = {!myanalytic param1 = a param2 = b cost = 101}之類的查詢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM