BACKGROUND

Various methods, apparatus, and systems are configured to improve data indexing in a group-based communication platform. Applicant has identified many deficiencies and problems associated with existing methods, apparatus, and systems. Through applied effort, ingenuity, and innovation, these identified deficiencies and problems have been solved by developing solutions that are in accordance with the embodiments of the present invention, many examples of which are described in detail herein.

BRIEF SUMMARY

In general, embodiments of the present invention provide methods, apparatus, systems, computing devices, and/or the like for improving data indexing in a group-based communication platform.

In accordance with one aspect, a computer-implemented method for improving data indexing in a group-based communication platform is provided. The group-based communication platform includes a computed collection and one or more live collections. The computer-implemented method comprises generating, by a server circuitry, a new collection, the new collection being generated at a snapshot time point; associating, by the server circuitry, a collection manager with the new collection, the collection manager having a read alias and a write alias pointing to the computed collection and the one or more live collections; retrieving, by the server circuitry, a plurality of electronic messages from the computed collection and the one or more live collections, each electronic message having a message generation timestamp indicating a message generation time point prior to a first pre-determined time period before the snapshot time point; writing, by the server circuitry, the plurality of electronic messages to the new collection, the writing being completed at a cut-over time point; synchronizing, by the server circuitry, the new collection with the one or more live collections based on the plurality of electronic messages; and redirecting, by the server circuitry, the read alias and the write alias from the computed collection to the new collection.

In accordance with another aspect, synchronizing, by the server circuitry, the new collection the one or more live collections based on the plurality of electronic messages further comprises querying, by the server circuitry, the plurality of electronic messages; retrieving, by the server circuitry, one or more modified electronic messages, each modified electronic message having a message modification timestamp indicating a message modification time point between the snapshot time point and the cut-over time point; and transmitting, by the server circuitry, the one or more modified electronic messages to the new collection.

In accordance with another aspect, the new collection comprises a plurality of shards, wherein each shard stores message data related to a plurality of existing electronic messages and at least one index file associated with the message data.

In accordance with another aspect, the at least one index file is generated by creating composite dimensions based on the message data; generating DocJoin structures based on the composite dimensions; and outputting at least one index file based on the DocJoin structures.

In accordance with another aspect, the computed index collection comprises a plurality of index files, the plurality of index files being associated with a plurality of existing electronic messages, the plurality of existing electronic messages being generated prior to a second pre-determined time period before the snapshot time point.

In accordance with another aspect, the computer-implemented method further identifying, by the server circuitry, at least one live collection associated with the plurality of electronic messages from the one or more live collections; and disconnecting, by the server circuitry, the at least one live collection from the read alias and the write alias.

In accordance with another aspect, synchronizing, by the server circuitry, the new collection with the one or more live collections based on the plurality of electronic messages, further comprises retrieving a retention policy associated with the plurality of electronic messages; and updating the new collection based on the retention policy.

In accordance with another aspect, an apparatus comprising at least one processor and at least one non-transitory memory is provided. In some embodiments, the at least one non-transitory memory and the program code configured to, with the processor, cause the apparatus to at least generate, by a server circuitry, a new collection, the new collection being generated at a snapshot time point; associate, by the server circuitry, a collection manager with the new collection, the collection manager having a read alias and a write alias pointing to the computed collection and the one or more live collections; retrieve, by the server circuitry, a plurality of electronic messages from the computed collection and the one or more live collections, each electronic message having a message generation timestamp indicating a message generation time point prior to a first pre-determined time period before the snapshot time point; write, by the server circuitry, the plurality of electronic messages to the new collection, the writing being completed at a cut-over time point; synchronize, by the server circuitry, the new collection with the one or more live collections based on the plurality of electronic messages; and redirect, by the server circuitry, the read alias and the write alias from the computed collection to the new collection.

In accordance with another aspect, a computer program product is provided. The computer program product may comprise at least one computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising executable portions configured to generate, by a server circuitry, a new collection, the new collection being generated at a snapshot time point; associate, by the server circuitry, a collection manager with the new collection, the collection manager having a read alias and a write alias pointing to the computed collection and the one or more live collections; retrieve, by the server circuitry, a plurality of electronic messages from the computed collection and the one or more live collections, each electronic message having a message generation timestamp indicating a message generation time point prior to a first pre-determined time period before the snapshot time point; write, by the server circuitry, the plurality of electronic messages to the new collection, the writing being completed at a cut-over time point; synchronize, by the server circuitry, the new collection with the one or more live collections based on the plurality of electronic messages; and redirect, by the server circuitry, the read alias and the write alias from the computed collection to the new collection.

