Patent attributes
Techniques are disclosed for allowing efficient updating of metadata and high performance searching through the use of a text index and a separate updateable metadata index. Generally, an updateable metadata index is used to store document metadata. A text index is used to store document text. Documents in the text index are stored in the same order as the corresponding metadata entries. Upon receiving a search query, a search engine decomposes the query into a metadata condition and a text condition. Search engine performs a parallel scan upon the metadata index and the text index. To increase performance, metadata entries are skipped over if the corresponding text entries do not match the text condition. During the scan, when a document in the metadata index matches a document in the text index, the document is stored in the search results. After the scan, search results are displayed.