Details

    • Type: Improvement Improvement
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.2.1
    • Fix Version/s: 2.2.2
    • Component/s: Portlet Registry
    • Labels:
      None

      Description

      I think we can improve the search engine usages with the recent lucene (3.0.1 or later) like the followings:

      • Use explicit term queries instead of string based query which could have made problems to not distinguish portlet app and portlet def.
      • By default, we can configure RAM Directory instead of FS Directory.
        Because the current search index store is small-sized for portlet registry, the in-memory search index could be no problem by default.
        Of course, we could provide a configuration and spring assembly to allow search index directory customizations.
      • Currently, we don't have options to check or reinitialize the search index directory. If we do, it would be great because we don't have to restart the servlet container to reinitialize the search index.

        Activity

        Hide
        Woonsan Ko added a comment -

        Upgraded Lucene to the latest one, 3.0.2 with the following improvements:

        • made the test case to not open http connection during testing; instead load html content from the local classpath urls.
        • added 'synthetic' field (which is indexed but not stored) to simplify query without using MultiFieldQueryParser.
        • improved not to add multiple documents for the same portlet.
        • improved resource usages to avoid possible leaks.
        • added max top count in search API because Lucene has that limitation in API as well.
        • added portlet registry search test case.
        • added new search method to allow to set the default search field.
        • improved the search in toolbox on keywords.
        • refactoring in search engine impl.
        • optimization during adding or removing by reducing index-rewriting calls.

        By the way, I didn't change the default search index directory by RAMDirectory
        because the file system directory is very useful to investigate with Luke.
        However, the SearchEngineImpl has additional constructors to allow directory injection; it's possible to use RAMDirectory by configuring spring assembly manually.

        One thing to note is that the search index directory format has been changed to 3.0; so the existing search index directory in the previous version couldn't be compliant any more. They should be recreated.

        Show
        Woonsan Ko added a comment - Upgraded Lucene to the latest one, 3.0.2 with the following improvements: made the test case to not open http connection during testing; instead load html content from the local classpath urls. added 'synthetic' field (which is indexed but not stored) to simplify query without using MultiFieldQueryParser. improved not to add multiple documents for the same portlet. improved resource usages to avoid possible leaks. added max top count in search API because Lucene has that limitation in API as well. added portlet registry search test case. added new search method to allow to set the default search field. improved the search in toolbox on keywords. refactoring in search engine impl. optimization during adding or removing by reducing index-rewriting calls. By the way, I didn't change the default search index directory by RAMDirectory because the file system directory is very useful to investigate with Luke. However, the SearchEngineImpl has additional constructors to allow directory injection; it's possible to use RAMDirectory by configuring spring assembly manually. One thing to note is that the search index directory format has been changed to 3.0; so the existing search index directory in the previous version couldn't be compliant any more. They should be recreated.

          People

          • Assignee:
            Woonsan Ko
            Reporter:
            Woonsan Ko
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development