Uploaded image for project: 'Solr'
  1. Solr
  2. SOLR-3150

NPE when facetting using facet.prefix on an "empty" field

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.0-ALPHA
    • 4.0-ALPHA
    • None
    • None

    Description

      FacetComponent works fine on empty fields but crashes if facet.prefix parameter is set.

      Looking at the code : getOrdTermsEnum(..) returns null if no value is found on the field but getCounts(...) does not checks if TermsEnum te is null or not.

      UnInvertedField.java (getCounts(..))
            TermsEnum te = getOrdTermsEnum(searcher.getAtomicReader());
            if (prefix != null && prefix.length() > 0) {
              final BytesRef prefixBr = new BytesRef(prefix);
      232:    if (te.seekCeil(prefixBr, true) == TermsEnum.SeekStatus.END) {
                startTerm = numTermsInField;
              } else {
                startTerm = (int) te.ord();
              }
              prefixBr.append(UnicodeUtil.BIG_TERM);
              if (te.seekCeil(prefixBr, true) == TermsEnum.SeekStatus.END) {
                endTerm = numTermsInField;
              } else {
                endTerm = (int) te.ord();
              }
            }
      
      java.lang.NullPointerException
      	at org.apache.solr.request.UnInvertedField.getCounts(UnInvertedField.java:232)
      	at org.apache.solr.request.SimpleFacets.getTermCounts(SimpleFacets.java:299)
      	at org.apache.solr.request.SimpleFacets.getFacetFieldCounts(SimpleFacets.java:354)
      	at org.apache.solr.request.SimpleFacets.getFacetCounts(SimpleFacets.java:207)
      	at org.apache.solr.handler.component.FacetComponent.process(FacetComponent.java:81)
      

      Attachments

        Issue Links

          Activity

            People

              yseeley@gmail.com Yonik Seeley
              pqueixalos Pablo Queixalos
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: