Gallery 2 Advanced Search Module

Project Description

The previous implementation of Gallery2's search module suffered from poor performance, a problem particularly pronounced for large datasets because no indexes were used for efficiency. The solution to this performance and scalability problem was to remake the gallery search module using a DBMS agnostic full text indexing algorithm. Furthermore, the previous search implementation did not support complex queries (such as queries containing boolean operators) or effectively support even basic relevance-based ranking algorithms. By maintaining a full text index and creating an enhanced query parser I was able to implement improvements in both these areas.

Images

Features

  • Search index creation / maintaince
  • Supports boolean query logic
  • Supports nested boolean statements
  • Queries can be run on specific fields
  • Respects Gallery2's existing permissions system
  • Works on all databases supported by Gallery2
  • Support for internationalization
  • Extensible with additional functionality in development:
    • Revised UI
    • Indexing API to support data from 3rd party Gallery2 modules
    • Intelligent sorting of results (Best Match)
    • Support for steming to improve search recall
    • Phrase-match querys

Files

  • Current alpha version of the AdvancedSearch module (as of May 13th, 2008).

Links