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:
Disclosed are systems and methods of querying a hybrid event index of a user. The systems and methods can include receiving a search request pertaining to at least a first namespace of a plurality of namespaces and determining a first index server storing a first portion of the hybrid event index associated with the first namespace. The systems and methods can further include searching, the first portion of the hybrid event index stored at the first index server, determining one or more attributes from the search request, and determining a payload based on the search results of the first portion of the hybrid event index. Finally, the systems and methods can include applying one or more attributes to the payload and sending the filtered payload.
Abstract:
Disclosed herein are techniques for combining content management system functionality with an email or messaging server. A system can associate an email with a content item, through express attachment, direct reference such as a link, indirect reference, or otherwise. The system can store the associated content item within content item storage or identify a stored content item that is identical to the content item that is associated with the email. The system can then enhance email service functionality with the stored content item. For example, the system can present the stored content item or information about the stored content item along with the email. The system can also automatically grant permissions to the stored content item with participants of the email.
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.
Abstract:
Multi-user computer search system with methodology for bypassing instant indexing of documents. In some embodiments, for example, a system for bypassing instant indexing includes a token store storing a set of token for a current version of a document and a tokenizer server configured to tokenize a new version of the document and to generate a set of tokens for the new version of the document. The system further includes an instant indexer server configured to determine tokens to index the document by based on identified differences between the set of tokens for the new version of the document and the set of tokens for the current version of the document, to determine whether the new version of the document is a bypass document version or non-bypass document version, and to generate an index mutation for the new version of the document including a specification of whether the generated index mutation is a bypass index mutation or a non-bypass index mutation based on whether the new version of the document is a bypass document version or non-bypass document version. The system also includes an index mutation server configured to provide the generated index mutation to an index server, if the generated index mutation is a non-bypass index mutation, or not provide the generated index mutation to the index server, if the generated index mutation is a bypass index mutation.
Abstract:
A system and method for enabling a user to use a user computer to search the user's personal content items hosted by an online content management service. In one aspect, the user computer is configured to obtain a search query, use the search query to identify in a local index at the user computer one or more of the user's hosted content items that satisfy the search query, and display, in a graphical user interface at the user computer, a search answer summary for each of the one or more of the user's hosted content items that satisfy the search query.