Search

From eLinux.org
Jump to: navigation, search

MediaWiki's full-text search is split between back-end and front-end classes, allowing for the backend to be extended with plugins.

Front end

Work for MediaWiki 1.13

Some work is going on now (March 2008) to improve the front-end for MediaWiki 1.13.

  • Thumbnails
    • done Hits that return 'Image:' pages now include a thumbnail and basic image metadata instead of raw text extracts.
    • Thumbnails for media gallery pages and categories might be great!
  • Text extracts
    • These need to be prettified... a lot :)
  • Categories and other metadata?
    • Be nice to add some stuff while keeping it clean
  • Search refinement field
    • Recommend moving this up to the top, like the limited one LuceneSearch extension had.
    • The namespace checklist is currently awful, should be cleaned up in some nice way.
  •  ??

Back end

MediaWiki currently ships with two functional search backends; one for MySQL 4.x and later, and the other for PostgreSQL. Custom classes can also be loaded, and $wgSearchType set to the desired class name.

SearchEngine

This is an abstract base class, with stubs for full-text searches in the title and text fields, and a standard implementation for doing exact-title matches.

SearchMySQL4

The SearchMySQL and SearchMySQL4 classes implement boolean full-text searches using MySQL's fulltext indexing for MyISAM tables. (In old versions of MediaWiki there was a SearchMySQL3 class as well, which did some extra work to do boolean queries.)

Work for MediaWiki 1.13

Put some notes on my blog...

SearchPostgres

I'm not actually sure how SearchPostgres and SearchTsearch2 classes relate. Is one of them obsolete, or... ?

Extensions

MWSearch

The MWSearch extension provides a SearchEngine subclass which contacts Wikimedia's Lucene-based search server. This replaces the older LuceneSearch extension which reimplemented the entire Special:Search page.