ain menu move to sidebar hide Navigation Main page Contents Current events Random article About Wikipedia Contact us Contribute Help Learn to edit Community portal Recent changes Upload file Special pages Print/export Download as PDF Printable version In other projects Wikidata item Search Search Appearance Donate Create account Log in Personal tools Donate Create account Log in Contents move to sidebar hide (Top) 1 Indexing 2 The precision vs. recall tradeoff 3 False-positive problem 4 Synonym problem 5 Performance improvements Toggle Performance improvements subsection 5.1 Improved querying tools 6 Software Toggle Software subsection 6.1 Free and open source software 6.2 Proprietary software 7 References 8 See also Toggle the table of contents Full-text search 14 languages Čeština Deutsch فارسی Français Italiano 日本語 한국어 Bahasa Melayu Nederlands Português Русский Slovenčina Українська 中文 Edit links Article Talk English Read Edit View history Tools Tools move to sidebar hide Actions Read Edit View history General What links here Related changes Upload file Permanent link Page information Cite this page Get shortened URL Print/export Download as PDF Printable version In other projects Wikidata item Appearance move to sidebar hide From Wikipedia, the free encyclopedia Search using the full text of documents In text retrieval , full-text search refers to a set of techniques for searching a single computer -stored document or a collection in a full-text database . Full-text search is distinguished from searches based on metadata or on specific parts of documents, such as titles, abstracts, selected sections, or bibliographical references. [ 1 ] [ 2 ] [ 3 ] In a full-text search, a search engine examines the words in stored documents to find matches for user queries. [ 4 ] Full-text-search techniques began to appear in the 1960s (for example, IBM STAIRS in 1969), and became common in online bibliographic databases during the 1990s. Many websites and application programs, including word processors , implement full-text search functionality. [ 1 ] [ 2 ] [ 5 ] [ 6 ] Some web search engines, such as the former AltaVista , indexed the full text of web pages, while others indexed only selected portions of pages. [ 2 ] [ 3 ] [ 7 ] Indexing [ edit ] When dealing with a small number of documents, a full-text-search engine can scan the contents of each document directly for every query , a strategy known as " serial scanning ." Some tools, such as grep , operate in this way. [ 1 ] [ 8 ] When the number of documents or queries is large, full-text search is typically divided into two tasks: indexing and searching. During indexing, the engine scans all documents and builds a list of search terms, often called an index , or more precisely, a concordance . During the search stage, queries are performed against the index rather than the original documents. [ 1 ] [ 2 ] [ 8 ] [ 9 ] The indexer records each term found in a document and may note its position within the text. Common words, known as stop words (for instance, "the" or "and"), are omitted because they add little value to search results. Some indexers also perform stemming , which reduces words to their base form; for example, "drives", "drove", and "driven" may all be indexed under the concept word "drive." [ 1 ] [ 2 ] [ 8 ] [ 10 ] The precision vs. recall tradeoff [ edit ] Diagram of a low-precision, low-recall search Recall and precision are standard measures for search effectiveness. Recall quantifies the proportion of relevant results returned by a search, while precision measures the proportion of returned results that are relevant. Formally, recall is the ratio of relevant results returned to the total number of relevant results available, and precision is the ratio of the number of relevant results returned to the total number of results returned. [ 1 ] [ 2 ] [ 4 ] [ 11 ] The diagram at the right illustrates a search with low recall and low precision. In the diagram, red and green dots represent the total population of potential search results for a given query, with green dots indicating relevant results and red indicating irrelevant results. Relevance is indicated by proximity to the center of the inner circle. The results actually returned by the search are highlighted on a light-blue background. In the example, only one relevant result of three possible relevant results was returned, giving a recall of ⅓ (33%). The precision is 1/4 (25%), since only one of the four results returned was relevant. [ 11 ] Due to the ambiguities of natural language , full-text-search systems typically include features such as filtering to increase precision and stemming to increase recall. Controlled-vocabulary search can also help alleviate low-precision results by tagging documents to reduce ambiguity. [ 1 ] [ 2 ] [ 9 ] There is generally a trade-off between precision and recall: increasing precision can reduce overall recall, while increasing recall may lower precision. [ 1 ] [ 2 ] [ 11 ] See also: Precision and recall False-positive problem [ edit ] Full-text search can retrieve many documents that are not relevant to the intended query. Such documents are called false positives (see Type I error ). The retrieval of irrelevant documents is often caused by the inherent ambiguity of natural language . [ 1 ] [ 2 ] [ 9 ] In the accompanying diagram, false positives are represented by irrelevant results (red dots) that were returned by the search (highlighted on a light-blue background). Clustering techniques, often based on Bayesian algorithms, can help reduce false positives. For example, for a search term such as "bank", clustering can categorize documents into groups such as "financial institution", "place to sit", or "place to store." Depending on the occurrence of words relevant to these categories, a search term or a search result can be assigned to one or more categories. This approach is widely used in the e-discovery domain. [ 12 ] Synonym problem [ edit ] At a basic level, search engines return items that contain the exact phrase listed in the query. Tools and methodologies exist to account for grammatical or typographical errors and to refine results; however, these techniques still typically require a close textual match. Because there are often multiple ways to refer to an entity or concept, full-text search may fail to retrieve an item if the exact term is not used in the query. Not to be confused with semantic search, synonyms can be retrieved by creating an index of related terms, such that when a variation of a word is searched, items containing any of the related terms may also be returned. [ 13 ] Performance improvements [ edit ] The limitations of full-text searching have been addressed in two ways: by providing users with tools to express search questions more precisely, and by developing algorithms that improve retrieval precision. [ 1 ] [ 2 ] [ 8 ] [ 11 ] [ 14 ] Improved querying tools [ edit ] Keywords and synonym search , or query expansion : A technique in which document creators (or trained indexers) supply lists of words that describe the subject of a text, including synonyms. Keywords improve recall, especially when the search term does not appear explicitly in the text. Field-restricted search: Some search engines allow users to limit searches to specific fields within a stored data record , such as "Title" or "Author." Boolean queries: Searches using Boolean operators (for example, "encyclopedia" AND "online" NOT "Encarta") can increase precision. The AND operator retrieves only documents containing all specified terms;  NOT excludes documents containing a term. The OR operator can be used to increase recall , for instance, "encyclopedia" AND "online" OR "Internet" NOT "Encarta." Using Boolean queries will retrieve documents about online encyclopedias that use the term "Internet" instead of "online." This to increase precision may sometimes reduce recall significantly. [ 14 ] Phrase search : Matches documents containing an exact sequence of words, such as "Wikipedia, the free encyclopedia." Concept search : Matches multi-word concepts, for example compound term processing . This approach is increasingly used in e-discovery solutions. Concordance search : Produces an alphabetical list of all principal words that occur in a text along with their immediate context. Proximity search :  Retrieves documents in which two or more words occur within a specified distance, for example "Wikipedia" WITHIN2 "free" retrieves documents where "Wikipedia" and "free" are separated by at most two words. Regular expression search :  Uses a complex but powerful syntax to specify precise retrieval conditions. Fuzzy search : Retrieves documents that match the query terms approximately, allowing for variations such as edit distance . Wildcard search : Substitutes one or more characters in a query with a wildcard symbol (e.g., *). For example, "s*n" matches "sin", "son", or "sun." Software [ edit ] The following is a partial list of software products that support full-text indexing and search. Some of these are accompanied by documentation describing their architecture or algorithms, which may provide additional insight into how full-text search is implemented. Free and open source software [ edit ] Apache Lucene Apache Solr ArangoSearch BaseX KinoSearch Lemur/Indri MariaDB mnoGoSearch MySQL OpenSearch PostgreSQL Searchdaimon Sphinx Swish-e Terrier IR Platform Xapian Proprietary software [ edit ] Algolia Autonomy Corporation Azure Search Bar Ilan Responsa Project Basis database Brainware BRS/Search Concept Searching Limited Dieselpoint dtSearch Elasticsearch Endeca Exalead Fast Search & Transfer Inktomi Lucid Imagination MarkLogic MongoDB SAP HANA Swiftype Thunderstone Software LLC Vivísimo References [ edit ] ^ a b c d e f g h i j Manning, Christopher D.; Raghavan, Prabhakar; Schütze, Hinrich (2009). Introduction to Information Retrieval . Cambridge University Press. ISBN   978-0-521-86571-5 . ^ a b c d e f g h i j Baeza-Yates, Ricardo; Ribeiro-Neto, Berthier (1999). Modern Information Retrieval (1st ed.). Addison-Wesley. ISBN   0-201-39829-X . ^ a b "History Of Search Engines" . ResearchGate . Archived from the original on February 14, 2026 . Retrieved March 14, 2026 . ^ a b Yuwono, Budi; Lee, Dik L. (1997). "Server Ranking for Distributed Text Retrieval Systems on the Internet" . Database Systems for Advanced Applications '97 . World Scientific: 41– 49. doi : 10.1142/9789812819536_0005 . ISBN   978-981-02-3107-1 . ^ Salton, Gerard (1974). "Information Storage and Retrieval" (PDF) . ^ Salton, Gerard; McGill, Michael J. (1983). Introduction to Modern Information Retrieval . McGraw-Hill. ISBN   0-07-054484-0 . ^ Sullivan, Danny (2013-06-28). "A Eulogy For AltaVista, The Google Of Its Time" . Search Engine Land . Retrieved 2026-03-15 . ^ a b c d Witten, Ian H.; Moffat, Alistair; Bell, Timothy C. (1999). Managing Gigabytes: Compressing and Indexing Documents and Images (2nd ed.). Morgan Kaufmann. ISBN   1-55860-570-3 . ^ a b c Rivas, A. R.; Iglesias, E. L.; Borrajo, L. (2014). "Study of query expansion techniques and their application in the biomedical information retrieval" . TheScientificWorldJournal . 2014 132158. doi : 10.1155/2014/132158 . ISSN   1537-744X . PMC   3958669 . PMID   24723793 . ^ Göksel, Gökhan; Arslan, Ahmet; Dinçer, Bekir Taner (2023). "A selective approach to stemming for minimizing the risk of failure in information retrieval systems" . PeerJ Computer Science . 9 e1175. doi : 10.7717/peerj-cs.1175 . ISSN   2376-5992 . PMC   10280253 . PMID   37346699 . ^ a b c d Coles, Michael; Cotter, Hilary (2008). Pro Full-Text Search in SQL Server 2008 (1st ed.). Apress. ISBN   978-1-4302-1594-3 . ^ Socha, George (August 12, 2017). "Cluster Clear: Are Clustering Tools the Solution to Tedious Identification and Reduction Processes? | Judicature" . judicature.duke.edu . Retrieved 2026-03-14 . ^ Beall, Jeffrey (2008-09-01). "The Weaknesses of Full-Text Searching" . The Journal of Academic Librarianship . 34 (5): 438– 444. doi : 10.1016/j.acalib.2008.06.007 . ISSN   0099-1333 . ^ a b Lee, Whay C.; Fox, Edward A. (May 1, 1988). Experimental Comparison of Schemes for Interpreting Boolean Queries (Report). Department of Computer Science, Virginia Polytechnic Institute & State University. hdl : 10919/19378 . See also [ edit ] Pattern matching and string matching Compound term processing Enterprise search Information extraction Information retrieval Faceted search WebCrawler , first FTS engine Search engine indexing - how search engines generate indices to support full-text searching Authority control databases : National Czech Republic Retrieved from " https://en.wikipedia.org/w/index.php?title=Full-text_search&oldid=1352113583 " Categories : Text editor features Information retrieval genres Hidden categories: Articles with short description Short description is different from Wikidata This page was last edited on 2 May 2026, at 03:37  (UTC) . Text is available under the Creative Commons Attribution-ShareAlike 4.0 License ; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy . Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc. , a non-profit organization. Privacy policy About Wikipedia Disclaimers Contact Wikipedia Legal & safety contacts Code of Conduct Developers Statistics Cookie statement Mobile view Search Search Toggle the table of contents Full-text search 14 languages Add topic