Extension:AdvancedSearch

What can this extension do?
This extension adds a special page which allows for searching in a more advanced way than Special:Search does. You can use complex AND/OR expressions, search for pages that don't match an expression, and search for pages that are or aren't in certain categories.

Usage
To use the AdvancedSearch, go to the Special:AdvancedSearch special page. In the "Search in page content" text boxes, you can enter a list of words that should (or shouldn't) occur in the page content and/or title. The search is case-insensitive and you can use * as a wildcard, i.e. 'check*' will match both 'checkbox' and 'checkmate'. You can combine words with the AND and OR operators: searching for 'foo AND bar' will only list pages that include both words, whereas 'foo OR bar' will list pages that include either word. 'foo bar' is synonymous to 'foo AND bar'; if you want to search for 'foo bar' as a word, you have to quote it, i.e. '"foo bar"'. You can make more complex expressions by using parentheses, as in 'foo AND ( bar OR baz )'. Note that ( and ) should be separate words, so something like 'foo AND (bar OR baz)' won't do what you expect. If you use multiple operators without using parentheses, AND will take precendence over OR, so 'foo AND bar OR baz' is equivalent to '( foo AND bar ) OR baz'. Words shorter than four letters and some common words (so-called stop words) can't be searched for; if you try, an error message will be shown. A list of stop words can be found at http://dev.mysql.com/doc/refman/5.0/en/fulltext-stopwords.html. The "Search in categories" text boxes work the same way as their title/content counterparts, except that 'foo bar' isn't interpreted as 'foo AND bar', so you don't need to quote category names with spaces in them.

In the "Namespaces" section, you can specify the namespaces to search in. By default, only the main namespace is searched; you can change the default in your preferences.

If you've configured it (see section 5A), the "Common categories" section will appear, containing the checkboxes and dropdown you configured. The checkboxes you check and the category you choose in the dropdown are added to the "List articles in these categories" field: if you enter "foo" in the text box, check the "bar" and "baz" checkboxes and select "foobar" in the dropdown, the complete search query will be 'foo AND ( bar OR baz ) AND foobar'.

If you check the permanent link checkbox, a permanent link of the form Special:AdvancedSearch/123 will be generated. Clicking this link will fill out the form exactly like you did and run the search again. This is useful when referring to searches, e.g. on talk pages.

Installation
See the README. You need to run update.php and the included populateCategorySearch.php maintenance scripts.