Abstract:
Enable using a user computer to search the user's personal content items hosted by an online content management service, the online content management service having an indexer computer configured to generate a base index of the user's content items hosted by the service, a base index server computer configured to transmit the generated base index over a network to the user computer, an index mutation generator computer configured to generate index mutations for subsequent changes to user's hosted content items, and an index mutation sever computer configured to transmit the generated index mutations over the network to the user computer. In one aspect, the system and method enable searches of the user's hosted content items and changes thereto to be conducted at the user computer using an index local to the user computer constructed based on the base index and the index mutations received by the user computer.
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 personalized search query autocomplete. In one embodiment, for example, a computer-implemented method includes: receiving a search query having an incomplete token; generating an index key that is composed of both (a) an identifier of a document namespace that a user account associated with the search query is authorized to access, and (b) the incomplete token; accessing an index dictionary with the index key to identify a plurality of index tokens, each index token of the plurality of index tokens having the identifier of the document namespace as part of the index token and having the incomplete token as a token portion of the index token or as a prefix of the token portion of the index token; iterating over the plurality of index tokens until a stop condition is reached; and returning an answer to the search query based on the iterating.
Abstract:
Enable using a user computer to search the user's personal content items hosted by an online content management service, the online content management service having an indexer computer configured to generate a base index of the user's content items hosted by the service, a base index server computer configured to transmit the generated base index over a network to the user computer, an index mutation generator computer configured to generate index mutations for subsequent changes to user's hosted content items, and an index mutation sever computer configured to transmit the generated index mutations over the network to the user computer. In one aspect, the system and method enable searches of the user's hosted content items and changes thereto to be conducted at the user computer using an index local to the user computer constructed based on the base index and the index mutations received by the user computer.
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.
Abstract:
Techniques for proactively sending hosted content items to user computing devices. In one embodiment, for example, a method includes collecting access event data representing a plurality of access events pertaining to a content item hosted with an online content management service; based on the access event data indicating that the content item is accessed at a plurality of user computing devices, determining a cross-device access signal for the content item; collecting additional access event data representing a third access event pertaining to the content item; and based on the additional access event data satisfying the cross-device access signal, sending at least a portion of the content item to a user computing device of the plurality of user computing devices.
Abstract:
A multi-user search system with methodology for personalized search query autocomplete. In one embodiment, for example, a computer-implemented method includes: receiving a search query having an incomplete token; generating an index key that is composed of both (a) an identifier of a document namespace that a user account associated with the search query is authorized to access, and (b) the incomplete token; accessing an index dictionary with the index key to identify a plurality of index tokens, each index token of the plurality of index tokens having the identifier of the document namespace as part of the index token and having the incomplete token as a token portion of the index token or as a prefix of the token portion of the index token; iterating over the plurality of index tokens until a stop condition is reached; and returning an answer to the search query based on the iterating.
Abstract:
A multi-user search system with methodology for personal searching. In one embodiment, for example, a computer-implemented method includes: receiving a search query; routing the search query to a particular index server based on an identifier of a document namespace; using the identifier of the document namespace at the particular index server to identify a set of matching and authorized indexed documents; and providing an answer to the search query identifying the set of matching and authorized indexed documents.