请输入您要查询的百科知识:

 

词条 Inverted index
释义

  1. Applications

  2. See also

  3. Bibliography

  4. References

  5. External links

In computer science, an inverted index (also referred to as a postings file or inverted file) is a database index storing a mapping from content, such as words or numbers, to its locations in a table, or in a document or a set of documents (named in contrast to a forward index, which maps from documents to content). The purpose of an inverted index is to allow fast full-text searches, at a cost of increased processing when a document is added to the database. The inverted file may be the database file itself, rather than its index. It is the most popular data structure used in document retrieval systems,[1] used on a large scale for example in search engines. Additionally, several significant general-purpose mainframe-based database management systems have used inverted list architectures, including ADABAS, DATACOM/DB, and Model 204.

There are two main variants of inverted indexes: A record-level inverted index (or inverted file index or just inverted file) contains a list of references to documents for each word. A word-level inverted index (or full inverted index or inverted list) additionally contains the positions of each word within a document.[2] The latter form offers more functionality (like phrase searches), but needs more processing power and space to be created.

Applications

The inverted index data structure is a central component of a typical search engine indexing algorithm. A goal of a search engine implementation is to optimize the speed of the query: find the documents where word X occurs. Once a forward index is developed, which stores lists of words per document, it is next inverted to develop an inverted index. Querying the forward index would require sequential iteration through each document and to each word to verify a matching document. The time, memory, and processing resources to perform such a query are not always technically realistic. Instead of listing the words per document in the forward index, the inverted index data structure is developed which lists the documents per word.

With the inverted index created, the query can now be resolved by jumping to the word ID (via random access) in the inverted index.

In pre-computer times, concordances to important books were manually assembled. These were effectively inverted indexes with a small amount of accompanying commentary that required a tremendous amount of effort to produce.

In bioinformatics, inverted indexes are very important in the sequence assembly of short fragments of sequenced DNA. One way to find the source of a fragment is to search for it against a reference DNA sequence. A small number of mismatches (due to differences between the sequenced DNA and reference DNA, or errors) can be accounted for by dividing the fragment into smaller fragments—at least one subfragment is likely to match the reference DNA sequence. The matching requires constructing an inverted index of all substrings of a certain length from the reference DNA sequence. Since the human DNA contains more than 3 billion base pairs, and we need to store a DNA substring for every index and a 32-bit integer for index itself, the storage requirement for such an inverted index would probably be in the tens of gigabytes.

See also

  • Index (search engine)
  • Reverse index
  • Vector space model

Bibliography

  • {{cite book |last= Knuth |first= D. E. |authorlink= Donald Knuth |title= The Art of Computer Programming |publisher= Addison-Wesley |edition= Third |year= 1997 |origyear= 1973 |location= Reading, Massachusetts |isbn= 0-201-89685-0 |ref= Knu97 |chapter= 6.5. Retrieval on Secondary Keys}}
  • {{cite journal|last1= Zobel |first1= Justin |last2=Moffat |first2=Alistair |last3=Ramamohanarao |first3=Kotagiri |date=December 1998 |title= Inverted files versus signature files for text indexing |journal= ACM Transactions on Database Systems |volume= 23 |issue= 4 |pages=453–490 |publisher= Association for Computing Machinery |location= New York |doi= 10.1145/296854.277632 |url= |accessdate= }}
  • {{cite journal|last1= Zobel |first1= Justin |last2=Moffat |first2=Alistair |date=July 2006 |title= Inverted Files for Text Search Engines |journal= ACM Computing Surveys |volume= 38 |issue= 2 |page=6|publisher= Association for Computing Machinery |location= New York |doi= 10.1145/1132956.1132959 |url= |accessdate= }}
  • {{cite book |last= Baeza-Yates | first = Ricardo |authorlink=Ricardo Baeza-Yates |author2=Ribeiro-Neto, Berthier |title= Modern information retrieval |publisher= Addison-Wesley Longman |location= Reading, Massachusetts |year= 1999 |isbn= 0-201-39829-X |oclc= |doi= |ref= BYR99 |page= 192 }}
  • {{cite journal |last= Salton | first = Gerard |author2=Fox, Edward A. |author3=Wu, Harry |title= Extended Boolean information retrieval |publisher= ACM |year= 1983

|journal = Commun. ACM |volume = 26 |issue = 11 |doi= 10.1145/182.358466 |page=1022 }}
  • {{cite book |title=Information Retrieval: Implementing and Evaluating Search Engines |url=http://www.ir.uwaterloo.ca/book/ |publisher=MIT Press |year=2010 |location=Cambridge, Massachusetts |isbn= 978-0-262-02651-2 |author8=Stefan Büttcher, Charles L. A. Clarke, and Gordon V. Cormack}}

References

1. ^{{Harvnb |Zobel|Moffat|Ramamohanarao|1998| Ref=none }}
2. ^{{Harvnb |Baeza-Yates|Ribeiro-Neto|1999| p=192 | Ref=BYR99 }}

External links

  • [https://xlinux.nist.gov/dads/HTML/invertedIndex.html NIST's Dictionary of Algorithms and Data Structures: inverted index]
  • Managing Gigabytes for Java a free full-text search engine for large document collections written in Java.
  • Lucene - Apache Lucene is a full-featured text search engine library written in Java.
  • Sphinx Search - Open source high-performance, full-featured text search engine library used by craigslist and others employing an inverted index.
  • Example implementations on Rosetta Code
  • [https://web.archive.org/web/20101203074412/http://www.vision.caltech.edu/malaa/software/research/image-search/ Caltech Large Scale Image Search Toolbox]: a Matlab toolbox implementing Inverted File Bag-of-Words image search.

4 : Data management|Search algorithms|Database index techniques|Substring indices

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/10 15:48:12