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

Deprecating StopAnalyzer ENGLISH_STOP_WORDS - General replacement with an immutable Set

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 2.9
    • None
    • None
    • New, Patch Available

    Description

      StopAnalyzer and StandartAnalyzer are using the static final array ENGLISH_STOP_WORDS by default in various places. Internally this array is converted into a mutable set which looks kind of weird to me.
      I think the way to go is to deprecate all use of the static final array and replace it with an immutable implementation of CharArraySet. Inside an analyzer it does not make sense to have a mutable set anyway and we could prevent set creation each time an analyzer is created. In the case of an immutable set we won't have multithreading issues either.
      in essence we get rid of a fair bit of "converting string array to set" code, do not have a PUBLIC static reference to an array (which is mutable) and reduce the overhead of analyzer creation.

      let me know what you think and I create a patch for it.

      simon

      Attachments

        1. StopWords.patch
          19 kB
          Simon Willnauer
        2. LUCENE-1688.patch
          19 kB
          Mark Miller
        3. LUCENE-1688.patch
          35 kB
          Mark Miller

        Activity

          People

            markrmiller@gmail.com Mark Miller
            simonw Simon Willnauer
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: