Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-2308

Separately specify a field's type

Details

    • New

    Description

      This came up from dicussions on IRC. I'm summarizing here...

      Today when you make a Field to add to a document you can set things
      index or not, stored or not, analyzed or not, details like omitTfAP,
      omitNorms, index term vectors (separately controlling
      offsets/positions), etc.

      I think we should factor these out into a new class (FieldType?).
      Then you could re-use this FieldType instance across multiple fields.

      The Field instance would still hold the actual value.

      We could then do per-field analyzers by adding a setAnalyzer on the
      FieldType, instead of the separate PerFieldAnalzyerWrapper (likewise
      for per-field codecs (with flex), where we now have
      PerFieldCodecWrapper).

      This would NOT be a schema! It's just refactoring what we already
      specify today. EG it's not serialized into the index.

      This has been discussed before, and I know Michael Busch opened a more
      ambitious (I think?) issue. I think this is a good first baby step. We could
      consider a hierarchy of FIeldType (NumericFieldType, etc.) but maybe hold
      off on that for starters...

      Attachments

        1. LUCENE-2308.branchdiffs
          1.20 MB
          Michael McCandless
        2. LUCENE-2308.branchdiffs.moved
          1.02 MB
          Michael McCandless
        3. LUCENE-2308.patch
          15 kB
          Michael McCandless
        4. LUCENE-2308.patch
          90 kB
          Michael McCandless
        5. LUCENE-2308.patch
          44 kB
          Michael McCandless
        6. LUCENE-2308.patch
          21 kB
          Nikola Tankovic
        7. LUCENE-2308.patch
          11 kB
          Chris Male
        8. LUCENE-2308-10.patch
          64 kB
          Nikola Tankovic
        9. LUCENE-2308-11.patch
          76 kB
          Nikola Tankovic
        10. LUCENE-2308-12.patch
          1 kB
          Nikola Tankovic
        11. LUCENE-2308-13.patch
          30 kB
          Nikola Tankovic
        12. LUCENE-2308-14.patch
          4 kB
          Nikola Tankovic
        13. LUCENE-2308-15.patch
          116 kB
          Nikola Tankovic
        14. LUCENE-2308-16.patch
          163 kB
          Nikola Tankovic
        15. LUCENE-2308-17.patch
          167 kB
          Nikola Tankovic
        16. LUCENE-2308-18.patch
          134 kB
          Nikola Tankovic
        17. LUCENE-2308-19.patch
          222 kB
          Nikola Tankovic
        18. LUCENE-2308-2.patch
          59 kB
          Nikola Tankovic
        19. LUCENE-2308-20.patch
          554 kB
          Nikola Tankovic
        20. LUCENE-2308-21.patch
          66 kB
          Nikola Tankovic
        21. LUCENE-2308-3.patch
          88 kB
          Nikola Tankovic
        22. LUCENE-2308-4.patch
          52 kB
          Nikola Tankovic
        23. LUCENE-2308-5.patch
          85 kB
          Nikola Tankovic
        24. LUCENE-2308-6.patch
          229 kB
          Nikola Tankovic
        25. LUCENE-2308-7.patch
          584 kB
          Nikola Tankovic
        26. LUCENE-2308-8.patch
          579 kB
          Nikola Tankovic
        27. LUCENE-2308-9.patch
          574 kB
          Nikola Tankovic
        28. LUCENE-2308-branch.patch
          1.05 MB
          Michael McCandless
        29. LUCENE-2308-final.patch
          1.07 MB
          Michael McCandless
        30. LUCENE-2308-FT-interface.patch
          60 kB
          Chris Male
        31. LUCENE-2308-FT-interface.patch
          59 kB
          Chris Male
        32. LUCENE-2308-FT-interface.patch
          204 kB
          Chris Male
        33. LUCENE-2308-FT-interface.patch
          205 kB
          Chris Male
        34. LUCENE-2308-ltc.patch
          4 kB
          Michael McCandless
        35. LUCENE-2308-merge-1.patch
          85 kB
          Nikola Tankovic
        36. LUCENE-2308-merge-2.patch
          152 kB
          Nikola Tankovic
        37. LUCENE-2308-merge-3.patch
          29 kB
          Nikola Tankovic

        Issue Links

          Activity

            People

              mikemccand Michael McCandless
              mikemccand Michael McCandless
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: