Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.4, 4.0-ALPHA
    • Component/s: modules/facet
    • Labels:
      None
    • Lucene Fields:
      New, Patch Available

      Description

      Faceting is a hugely important feature, available in Solr today but
      not [easily] usable by Lucene-only apps.

      We should fix this, by creating a shared faceting module.

      Ideally, we factor out Solr's faceting impl, and maybe poach/merge
      from other impls (eg Bobo browse).

      Hoss describes some important challenges we'll face in doing this
      (http://markmail.org/message/5w35c2fr4zkiwsz6), copied here:

      To look at "faceting" as a concrete example, there are big the reasons 
      faceting works so well in Solr: Solr has total control over the 
      index, knows exactly when the index has changed to rebuild caches, has a 
      strict schema so it can make sense of field types and 
      pick faceting algos accordingly, has multi-phase distributed search 
      approach to get exact counts efficiently across multiple shards, etc...
      (and there are still a lot of additional enhancements and improvements 
      that can be made to take even more advantage of knowledge solr has because 
      it "owns" the index that we no one has had time to tackle)
      

      This is a great list of the things we face in refactoring. It's also
      important because, if Solr needed to be so deeply intertwined with
      caching, schema, etc., other apps that want to facet will have the
      same "needs" and so we really have to address them in creating the
      shared module.

      I think we should get a basic faceting module started, but should not
      cut Solr over at first. We should iterate on the module, fold in
      improvements, etc., and then, once we can fully verify that cutting
      over doesn't hurt Solr (ie lose functionality or performance) we can
      later cutover.

      1. TestPerformanceHack.java
        12 kB
        Toke Eskildsen
      2. LUCENE-3079-dev-tools.patch
        4 kB
        Shai Erera
      3. LUCENE-3079.patch
        42 kB
        Stefan Trcek
      4. LUCENE-3079.patch
        1.55 MB
        Shai Erera
      5. LUCENE-3079.patch
        1.49 MB
        Robert Muir
      6. LUCENE-3079.patch
        53 kB
        Robert Muir
      7. LUCENE-3079_4x.patch
        52 kB
        Robert Muir
      8. LUCENE-3079_4x_broken.patch
        50 kB
        Robert Muir
      9. facet-userguide.pdf
        283 kB
        Shai Erera

        Issue Links

          Activity

          Michael McCandless created issue -
          Martijn van Groningen made changes -
          Field Original Value New Value
          Link This issue blocks LUCENE-3097 [ LUCENE-3097 ]
          Stefan Trcek made changes -
          Attachment LUCENE-3079.patch [ 12483461 ]
          Shai Erera made changes -
          Attachment LUCENE-3079.patch [ 12483946 ]
          Robert Muir made changes -
          Attachment LUCENE-3079.patch [ 12483957 ]
          Shai Erera made changes -
          Attachment LUCENE-3079-dev-tools.patch [ 12483959 ]
          Shai Erera made changes -
          Summary Facetiing module Faceting module
          Assignee Shai Erera [ shaie ]
          Fix Version/s 3.4 [ 12316675 ]
          Fix Version/s 4.0 [ 12314025 ]
          Lucene Fields [New] [New, Patch Available]
          Shai Erera made changes -
          Component/s modules/facet [ 12314601 ]
          Toke Eskildsen made changes -
          Attachment TestPerformanceHack.java [ 12484466 ]
          Shai Erera made changes -
          Attachment facet-userguide.pdf [ 12484629 ]
          Robert Muir made changes -
          Attachment LUCENE-3079_4x_broken.patch [ 12484663 ]
          Robert Muir made changes -
          Attachment LUCENE-3079_4x.patch [ 12484672 ]
          Robert Muir made changes -
          Attachment LUCENE-3079.patch [ 12484684 ]
          Shai Erera made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Uwe Schindler made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Shai Erera
              Reporter:
              Michael McCandless
            • Votes:
              2 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development