Unify title search and full search for simpler user interface
Contents
Moin 1.3 search engine
Moin has two types of searches:
- title search - quick search in the list of page names
- full text search - much slower (10-20x) search through all pages text
Search cost
As a site admin, you want users to first try a title search, and do full search only if title search did not help. full search in a huge wiki can take several seconds even if its the only process running. As a user you like to do a title search before a text search because you don't want to wait.
Advanced users can use search modifiers to do custom more efficient searches. See HelpOnSearching.
User interface
The current user interface has two buttons, "Titles" and "Text". When you click enter in the search box, title search is invoked by default.
The typical usage is to type a search term, click enter and check the results. If you did not find what you looked for, you click the text button to do a full text search, or try another search term.
Title search gives a list of page names, sorted alphabetically, without any page context. Full text search does both title search and full text search and display all results sorted by rank, with the first interesting lines of the page or the lines containing the first interesting matched text.
Each title match get 100 points vs 1 point for text match. Therefore, all title matches come always (practically) first in the list of search results.
Problems
Non standard search interface
New users does not know what is the meaning of "Text" and "Titles" buttons. They are used to Google, when you type some words and click search, and the search is done in both the documents titles and text. See UsabilityObservation/Chooses titlesearch when intends textsearch
Search results are not consistent
Sometimes show context, sometimes not. Sorted alphabetically or by rank.
Confusing
User that click enter in the search box did not find what he looked for might think that the search was not successful, and never try the "Text" search.
Proposal
New search interface
Instead of the two buttons, leave only one search button:
This setup is used by biggest search engines and lot of other sites.
According to useit.com:
- "Users expect search to have three components:
- A box where they can type words
- A button labeled "search" that they click to run the search
- A list of top results that's linear, prioritized, and appears on a new page -- the search engine results page (SERP)
references to other sites
Yahoo:
Search: ________________________ [[Search]]
Amazon:
Search
[what popup menu]
______________ [[Go!]]
w3c.org:
Search W3C:
______________ [[Go]]
Search
__________________
[[Go]] [[Search]]
Search results
All search results will be formatted in the same way, as it is done in the full text search:
- title match will show the first 2-3 lines of the page
- text match will show the 2-3 lines around the first match
Search algorithm
Simple search
For a simple search term - the common case
- Preform a title search
- If there are more then 10 results:
- Preform a full text search in the list of pages found by a title search, this will enable ranking of those pages, so we can display the most interesting page first.
Send a results page with Show next 10 results link
- Else preform a full text search and display the results as usuall.
Each next 10 results search, repeat from step 1, skipping results already sent.
The amount of resutls to use for "next x results" should be defined by testing, or let each user select within some range.
Advanced search
When the user use advanced options like text: regex: title: and such, he knows exactly what he is doing, we should do exactly what we are told.
What if the user does only title searches? how do we rank the results? Possible solution is to add a text:term for each term in the search, like we add a title:term when doing title search.
Example runs
Search for "parser" on this wiki:
- page 1 list title search results 1-10 (0.3s)
- page 2 list title search results 11-20 (0.3s)
- page 3 list title search results 21-30 (0.3s)
- page 4 list title search results 31-40 (0.3s)
- page 5 list 2 last title search results and about 250 text search results. (2.5s)
first 4 pages are doing a search for "title:parser text:parser"
Search for "parser market" on this wiki:
- page 1 list title search results 1-10 (0.3s)
- page 2 list 2 last title search results and about 66 text search results. (2.5s)
first page doing a search for "title:parser title:market text:parser text:market"
Related links
- UsabilityObservation/Chooses_title_search_when_intends_text_search
Employee Directory Search: Resolving Conflicting Usability Guidelines
E-commerce User Experience - Design Guidelines for Search (Buy)
- I tried to find similar information in both yahoo and msn - but their help really suck, either huge amount of non important documents (yahho) or lousy search for help that does not find anything (msn).