Full text search

Full text search

In text retrieval, full text search refers to a technique for searching a computer-stored document or database. In a full text search, the search engine examines all of the words in every stored document as it tries to match search words supplied by the user. Full-text searching techniques became common in online bibliographic databases in the 1970sVerify source|date=October 2008,. Most Web sites and application programs (such as word processing software) provide full text search capabilities. Some Web search engines, such as AltaVista employ full text search techniques, while others index only a portion of the Web pages examined by its indexing system. [In practice, it may be difficult to determine how a given search engine works. The search algorithms actually employed by Web search services are seldom fully disclosed out of fear that Web entrepreneurs will use search engine optimization techniques to improve their prominence in retrieval lists.]

Indexing

When dealing with a small number of documents it is possible for the full-text search engine to directly scan the contents of the documents with each query, a strategy called serial scanning. This is what some rudimentary tools, such as grep, do when searching.

However, when the number of documents to search is potentially large or the quantity of search queries to perform is substantial the problem of full text search is often divided into two tasks: indexing and searching. The indexing stage will scan the text of all the documents and build a list of search terms, often called an index, but more correctly named a concordance. In the search stage, when performing a specific query, only the index is referenced rather than the text of the original documents.

The indexer will make an entry in the index for each term or word found in a document and possibly its relative position within the document. Usually the indexer will ignore stop words, such as the English "the", which are both too common and carry too little meaning to be useful for searching. Some indexers also employ language-specific stemming on the words being indexed, so for example any of the words "drives", "drove", or "driven" will be recorded in the index under a single concept word "drive".

The precision vs. recall tradeoff

Due to the ambiguities of natural language, a full text search typically produces a retrieval list that has low precision: most of the items retrieved are irrelevant. Controlled-vocabulary searching solves this problem by tagging the documents in such a way that the ambiguities are eliminated. However, a controlled vocabulary search may have low recall: it may fail to retrieve some documents that are actually relevant to the search question. Despite the presence of many irrelevant documents in a free text search's retrieval list, a free text search may be able to locate a document that a controlled vocabulary search failed to retrieve.

The false positive problem

Free text searching is likely to retrieve many documents that are not relevant to the "intended" search question. Such documents are called false positives. The retrieval of irrelevant documents is often caused by the inherent ambiguity of natural language.

Certain clustering techniques based on Bayesian algorithms (similar to spam filter in gmailFact|date=October 2007) can help reduce the false positive errors. So if the search term is "football", these techniques can categorize the document/data universe into say "American football", "corporate football" etc. Depending on the occurrences of words in a document, it can fall into one of the categories or more. These techniques are being extensively deployed in the e-discovery domain.

Improving the performance of full text searching

The deficiencies of free text searching have been addressed in two ways: By providing users with tools that enable them to express their search questions more precisely, and by developing new search algorithms that improve retrieval precision.

Improved querying tools

*Keywords. Document creators (or trained indexers) are asked to supply a list of words that describe the subject of the text, including synonyms of words that describe this subject. Keywords improve recall, particularly if the keyword list includes a search word that is not in the document text.
* Field-restricted search. Some search engines enable users to limit free text searches to a particular field within a stored data record, such as "Title" or "Author."
* Boolean queries. Searches that use Boolean operators (for example, "encyclopedia" AND "online" NOT "Encarta") can dramatically increase the precision of a free text search. The AND operator says, in effect, "Do not retrieve any document unless it contains both of these terms." The NOT operator says, in effect, "Do not retrieve any document that contains this word." If the retrieval list retrieves too few documents, the OR operator can be used to increase recall; consider, for example, "encyclopedia" AND "online" OR "Internet" NOT "Encarta". This search will retrieve documents about online encyclopedias that use the term "Internet" instead of "online." This increase in precision is very commonly counter-productive since it usually comes with a dramatic loss of recall. [Studies have repeatedly shown that most users do not understand the negative impacts of boolean queries. [http://eprints.cs.vt.edu/archive/00000112/] ]
* Phrase search. A phrase search matches only those documents that contain a specified phrase, such as "Wikipedia, the free encyclopedia."
* Concordance search. A concordance search produces an alphabetical list of all principal words that occur in a text with their immediate context.
* Proximity search. A phrase search matches only those documents that contain two or more words that are separated by a specified number of words; a search for "Wikipedia" WITHIN2 "free" would retrieve only those documents in which the words "Wikipedia" and "free" occur within two words of each other.
* Regular expression. A regular expression employs a complex but powerful querying syntax that can be used to specify retrieval conditions with precision.
* Wildcard search. A search that substitutes one or more characters in a search query for a wildcard character such as an asterisk. For example, in the search function in Microsoft Word, using the asterisk in the search query "s*n" will find "sin", "son", "sun", etc. in a text.

Improved search algorithms

Technological advances have greatly improved the performance of free text searching. For example, Google's PageRank algorithm gives more prominence to documents to which other Web pages have linked. This algorithm dramatically improves users' perception of search precision, a fact that explains its popularity among Internet users. See search engine for additional examples.

Text retrieval software

The following is a partial list of available software products whose predominant purpose is to perform full text indexing and searching. Some of these are accompanied with detailed descriptions of their theory of operation or internal algorithms, which can provide additional insight into how full text search may be accomplished.
*Autonomy Corporation
*Dieselpoint
*Endeca
*Fast Search & Transfer
*ht://Dig
*Inktomi
*Lucene
*mnoGoSearch
*Sphinx
*Swish-e
*Vivísimo
*Xapian

Notes

ee also

*Controlled vocabulary
*Information retrieval
*Search engine
*Search engine indexing - how search engines generate indices to support full text searching


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Look at other dictionaries:

  • Full Text Search — Full Text Search,   Volltextsuche …   Universal-Lexikon

  • SQL Server Full Text Search — is an inexact string matching technology for SQL Server. It is a powerful and fast way of referencing the contents of almost any character based column on SQL Server 2000, SQL Server 2005, and SQL Server 2008 . Full text indexes must be populated …   Wikipedia

  • Full text database — A full text database or a complete text database is a database that contains the complete text of books, dissertations, journals, magazines, newspapers or other kinds of textual documents. It is opposed both to a bibliographic database (only… …   Wikipedia

  • Text mining — Text mining, sometimes alternately referred to as text data mining , roughly equivalent to text analytics , refers generally to the process of deriving high quality information from text. High quality information is typically derived through the… …   Wikipedia

  • Search engine (computing) — A search engine is an information retrieval system designed to help find information stored on a computer system. Search engines help to minimize the time required to find information and the amount of information which must be consulted, akin to …   Wikipedia

  • Text analytics — The term text analytics describes a set of linguistic, lexical, pattern recognition,extraction, tagging/structuring, visualization, and predictive techniques. The termalso describes processes that apply these techniques, whether independently or… …   Wikipedia

  • search engine — A service provided on the Internet that enables the user to search for items of interest. Some, such as the widely used search engines Google, Yahoo, and Alta Vista, are free and attempt to capture information from the whole range of material… …   Big dictionary of business and management

  • Google Book Search — Infobox Software | name = Google Book Search caption = Google Book Search screenshot developer = Google latest release version = latest release date = latest preview version = latest preview date = operating system = Any (web based application)… …   Wikipedia

  • Database search engine — There are several categories of search engine software: Web search or full text search (example: Lucene), database or structured data search (example: Dieselpoint), and mixed or enterprise search (example: Google Search Appliance). The largest… …   Wikipedia

  • Delimited search — In computing, delimited search refers to a simple search user interface allowing search in three steps: First a user types a query string, second the system computes the query on the whole body of searchable content, third the user gets results… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”