Abstract:
A multi-user search system with methodology for instant indexing. In one embodiment, for example, a system for instant indexing includes a token store storing sets of tokens for current versions of documents. The system further includes a tokenizer server configured to tokenize new versions of the documents and to generate sets of tokens for the new versions of the documents, an instant indexer configured to determine tokens to use to index the documents based on identified differences between the sets of tokens for the new versions of the documents and the sets of tokens for the current versions of the documents, and to generate index mutations including the tokens to use to index the documents, an index mutation journal configured to store the generated index mutations in association with timestamps, and an index mutation server configured to provide, to index servers, from the index mutation journal, generated index mutations for the index servers that are associated with timestamps that are newer than specified timestamps.
Abstract:
A multi-user search system with methodology for personal searching. In one embodiment, for example, a system for personal searching includes a plurality of index servers storing a plurality of index shards. Each index shard of the plurality of index shards indexes a plurality of documents. Each document of the plurality of documents belongs to one of a plurality of document namespaces assigned to the index shard. The system further includes a front-end server computer for receiving a search query from an authenticated user; an access control server for determining an authorized document namespace the authenticated user is authorized to access; and a query processor for answering the search query and restricting, based on an identifier of the authorized document namespace, an answer to the search query to identifying only documents satisfying the search query and belonging to the authorized document namespace.
Abstract:
A multi-user search system with methodology for instant indexing. In one embodiment, for example, a system for instant indexing includes a token store storing sets of tokens for current versions of documents. The system further includes a tokenizer server configured to tokenize new versions of the documents and to generate sets of tokens for the new versions of the documents, an instant indexer configured to determine tokens to use to index the documents based on identified differences between the sets of tokens for the new versions of the documents and the sets of tokens for the current versions of the documents, and to generate index mutations including the tokens to use to index the documents, an index mutation journal configured to store the generated index mutations in association with timestamps, and an index mutation server configured to provide, to index servers, from the index mutation journal, generated index mutations for the index servers that are associated with timestamps that are newer than specified timestamps.