Help:Searching
The search box on the left-hand side of every UESP page has three buttons:
- Go: To jump straight to the article with the provided name
- Search: To search all UESP article titles for the provided text
- More options: To access the search function at Special:Search, where additional options controlling the search are available.
Basic Searching
Search all Games | To search for content in all Elder Scrolls games simply enter the desired search terms. For example:
|
Search Within a Specific Game | To search within a single game enter the game name followed by colon and then your desired search terms.
|
Go and Search | The Go function will jump directly to a page with a matching title if any exists. Otherwise it functions exactly like the Search function by displaying the entire list of page content matches.
|
Search Failures
If your search came back empty, or didn't include the article you were looking for, some common reasons are:
- Your search did not include all of the site's articles. To search absolutely every article on the site, make sure that the boxes next to "Search Talk Pages", "Search Redirect" and "Select All" are all checked (all three are found at the bottom of the search page).
- Your search only checked article titles, not the full text of the articles. To search the full article text, de-select the "Search Titles Only" box at the bottom of the page.
- The word(s) you are searching for are misspelled. Make sure that the spelling exactly the matches the spelling used in-game.
- If you're unsure of the spelling, you may have more luck using a search engine such as Google, which has features to help with misspelled words.
- Or else, you may wish to browse the site's categories to find the correct spelling. For example, if you know you want information on an Oblivion quest about a character with a name like "Adarji", you could look through the Oblivion-Quests or Oblivion-Quests-Thieves Guild categories to see that the quest's name is Ahdarji's Heirloom. Or you could also check the Oblivion-NPCs or Oblivion-Khajiit categories to find a link to the NPC Ahdarji.
- Your search included common words. Words such as "an", "the", "from", or "though" should not be included in a search.
- Your search included too many words. Only articles that contain every specified word will be listed, therefore searches containing only one or two words are more likely be successful.
Features
Go Function
Entering some text into the search box then clicking the Go button will take you straight to the requested article, if it exists. The Go function is context-sensitive, so if you are reading an Oblivion-related article, it will take you to any existing Oblivion article; if you are reading a Morrowind page, you will be taken to any existing Morrowind article. If the page you looked for does not exist, it will instead do a standard search on the text, and you may be given the option to create the page.
Go tries to look for any article (or redirect page) that is likely to match the text you entered. It is not case-sensitive, it checks for plural/singular forms, and it checks for names with and without articles such as "the" or "a". In other words, entering "Animals", "animal", "an animal", or "anIMAL" would all take you to an article named "Animals" (assuming there is an article with that name).
Go takes advantage of UESPWiki's namespaces to try to identify the article that you are looking for. This means that entering a term such as "Orc" will take you to the article that is most relevant, based upon the game you are currently reading about and your defined search preferences. For example:
- If you start on an Oblivion or Shivering Isles page and go to Orc, you will end up at Oblivion:Orc.
- If you start on a Morrowind, Tribunal, or Bloodmoon page and go to Orc, you will end up at Morrowind:Orc.
- If you start on a Lore page and go to Orc, you will end up at Lore:Orc.
- If you start at this page and go to Orc, you will be taken to a search page so that you can choose which Orc page you are interested in.
If you have customized your search preferences, then the Go button will only look in the current namespace and your selected namespaces. In other words, if you have unchecked "Morrowind" in your search preferences, then go to Orc from this page will take you straight to the Oblivion:Orc page, because based on your preferences you are not interested in the Morrowind:Orc page.
If the text you entered does not match an article, you will be given the option to create that article in the current namespace. This option is only available if you started from one of UESPWiki's "gamespaces", i.e. one of the namespaces used to organize game-related information. Otherwise, the page will suggest that you should choose an appropriate game and start again.
If you want to override the go function's namespace selection, you can always specify the correct namespace. For example, to go the Lore article on Orc, you can type "Lore:Orc" into the search box and hit go. This can also be used if you need to create an article in a special namespace. For example, you could type "Help:My New Page" to create a page with that name in the Help namespace. If you need to create a page in the main namespace, add a single colon in the front of the name, e.g., ":My New Page".
Search Function
The search function only takes you directly to an article if you match the name exactly. If not, it does a comprehensive search of all the articles on the site and provides you with a list of every article that contains your text, either in its title or in the body of the article. You will end up at the same search page if you use the go function but "go" is unable to find any matching articles.
Search only shows matches that contain every word you enter in the search box. However, it will completely ignore certain very common words ("the", "a", "from", "have", "is", etc.; view the complete list of ignored words). The order of the words does not matter, and they will not necessarily be adjacent to each other in the matching text.
By default the search will check all the site's game-related namespaces (but not the discussion pages) for matches. It will show any redirect pages that match. There are a few possible ways to fine-tune the search:
- You can change your user preferences to change the default list of namespaces that are searched
- On the search page, you can use the box at the bottom of the page to alter the options for the current search
- You can add a namespace when using the search box to search just one namespace. For example, typing "Oblivion:vampire" in the search box will do a search for the word "vampire" within Oblivion-related pages only. For this to work, you must include the colon (":"), and the namespace (game name) has to be the first word. In other words, searches "Oblivion vampire" or "vampire oblivion" will not recognize "oblivion" as a namespace and will probably not give you the results that you are looking for.
Search Preferences
If you are a logged-in user, you can permanently modify your search preferences so that the search engine only looks through games that you are interested in. These preferences will be taken into account by both the Go and Search functions.
To access the preferences, click on the "my preferences" option at the top of every page (next to the links to your user page and talk page). Under the "Search" tab you will find a list of all the namespaces that exist on the site. Click those that you are interested in, and unclick those you are not interested in. For example, if the only Elder Scrolls game you own is Morrowind GOTY edition, you may want to only click "Lore", "Morrowind", "Tribunal", and "Bloodmoon". These options can be overridden for individual searches, as detailed in the previous sections.
Under search preferences, you can also provide default values for other search-related settings, such as "Search Titles Only", "Search Talk Pages", and "List Redirects". These preferences can also be overridden for individual searches. Any changes made on Special:Search will only be used for that single search.
Details
Searches are designed to be relatively efficient, and also are designed to work for first-time users. As a result, searches don't always work the way that you might expect, or the way that you might want. There are four general reasons why searching may not work as expected:
- The database function used to do the match imposes some limitations.
- Searches are done against a special version of the article text. This search index is derived from the wikitext of an article, but has been processed in various ways.
- The text that you enter into the search box is processed to transform it into a search request that can be understood by the database. Much of this processing can be bypassed if you choose to do a Boolean Search.
- When a set of matches is displayed, snippets of the article are displayed, containing highlighted words that match your search terms. However, those highlighted words are not necessarily the words that the search engine considered to be matches.
MySQL Match Function
The underlying database function used to execute searches is the MATCH function in MySQL, specifically using MATCH's boolean mode. Some assumptions are made by MySQL to improve search efficiency. The most relevant are:
- Common words are completely ignored. The MySQL documentation provides a complete list of the words that are considered to be common.
- Words that are less than three characters long are ignored (this is a change from MySQL's default setting)
- The search is not case-sensitive.
Search Index
A special version of each article's contents is generated specifically to be used for searches, and is stored in the si_text field of the database's searchindex table. The searchindex table was created primarily because of technical details of the database format. However, there are also numerous differences between the si_text version of an article and the actual article. The most important are:
- The search index text is derived from an article's wiki text, i.e., from the version of the text that you see when editing an article.
- All words are converted to lowercase
- Nearly all punctuation is removed from the article; furthermore, the search term processing further limits the ability to search using punctuation. The only punctuation that should be used in searches are single quotes ('), hyphens (-), and underscores (_)
- All HTML-style tags are removed from the article, i.e., any text enclosed in angle brackets.
- All external URLs are removed from the article.
Any content that is removed from the si_text version of the article is completely unavailable for searches.
Search Terms
The search text that you enter is modified to create a proper argument for the MATCH function. Changes include:
- If the first word is followed by a colon, it is assumed to be the namespace in which the search should be done.
- All punctuation except single quotes ('), dashes (-), and underscores (_) are removed from the text.
- Each individual word in the search is set to be a required word
- In order to make searches work equally well for singular and plural words, any trailing 's' (or 'es') is removed from each word, and the '*' wildcard is added to each word.
For example:
- If your search term is 'pink elephants', the resulting SQL phrase is 'MATCH si_text AGAINST ('+pink* +elephant*' IN BOOLEAN MODE)'.
- If your search term is '(wil*card)', the resulting SQL phrase is 'MATCH si_text AGAINST ('+wilcard*' IN BOOLEAN MODE)' -- which is unlikely to do what you wanted it to do.
Boolean Searches
- The following feature is a new addition as of UespCustomCode version 0.7
Selecting the boolean search option on the search page allows you to construct the SQL phrase using any of the boolean operators that are recognized by the MATCH function. See the MySQL documentation for complete information on the available operators and what they do.
If you request a boolean search, much less processing is done on your search terms than on a regular search. The only changes made are:
- If the first word is followed by a colon, it is assumed to be the namespace in which the search should be done.
- Punctuation and special characters are stripped, but any punctuation recognized by the MATCH function is kept. Therefore, all of the following symbols are kept: '-_+><()~*"
Examples of what can be done using boolean searches:
- Enter "black soul gem" to find pages where those three words appear as a phrase (the double quotations are required). Pages where each of the words appear, but not together, will not be returned as a match.
- Enter +solitude -wolf to find pages including the word "solitude", but not including the word "wolf". Therefore, Lore:Potema and other pages using the phrase "Wolf Queen of Solitude" will not appear in the search.
Search Context
After completing a search, the wiki will list several lines of text from each matching article to show some of the word matches found in the article, along with the context in which those words appeared. Although these summaries can be useful for a quick view of the articles, they can also be somewhat misleading. The search context and highlighted words are generated completely independently from the original search that was used to find the articles. This can be demonstrated through a search such as "an unexpected" -- the search context will list dozens of words containing the two letters "an", yet in reality "an" was not used to find the matching articles.
Search Order
- The following feature is a new addition as of UespCustomCode version 0.7
The articles are listed so that (hopefully) the most useful articles are listed first. Specifically:
- For title matches, the articles are sorted first according to the length of the title, with the shortest titles listed first. Titles with the same length are sorted according to the numerical index of the article's namespace; in essence, this means that the most recent games are listed first, and that game-related articles are listed before articles in other namespaces.
- For text matches, the articles are sorted according to their relevance. The relevance is a value computed by the MATCH function that indicates how well the article matches the search string.