1. A system to execute within a host organization, wherein the system comprises: a processor and a memory to execute instructions at the system; a search index stored on disk within the system comprised of a plurality of individual search index files, each of the individual search index files being accessible as a random access file, the search index having information stored therein, wherein at least one of the individual search index files constitutes a term dictionary or a term index type file having internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; wherein the search index stores both customer data and non-customer data organized into sub-blocks, wherein sub-blocks having customer data therein do not contain non-customer data and wherein sub-blocks having non-customer data therein do not contain customer data; a file input/output (TO) layer to encrypt the information being written into the individual search index file and to decrypt the information being read from the individual search index file, wherein the file IO layer encrypts and decrypts only a portion of the individual search index file in reply to an operation without requiring decryption or encryption of the individual search index file in its entirety; and a query interface to execute the operation against the information stored in the memory in its decrypted form.
1. A system to execute within a host organization, wherein the system comprises: a processor and a memory to execute instructions at the system; a search index stored on disk within the system comprised of a plurality of individual search index files, each of the individual search index files being accessible as a random access file, the search index having information stored therein, wherein at least one of the individual search index files constitutes a term dictionary or a term index type file having internal structure which allows a portion of the individual search index file to be updated, encrypted, and/or decrypted without affecting the internal structure of the individual search index file; wherein the search index stores both customer data and non-customer data organized into sub-blocks, wherein sub-blocks having customer data therein do not contain non-customer data and wherein sub-blocks having non-customer data therein do not contain customer data; a file input/output (TO) layer to encrypt the information being written into the individual search index file and to decrypt the information being read from the individual search index file, wherein the file IO layer encrypts and decrypts only a portion of the individual search index file in reply to an operation without requiring decryption or encryption of the individual search index file in its entirety; and a query interface to execute the operation against the information stored in the memory in its decrypted form. 16. The system of claim 1 : wherein the customer data and the non-customer data do not share any same sub-block and divided into the sub-blocks accordingly; and wherein access to the non-customer data cannot be directly associated with any specifically encrypted term from the term dictionary or the term index type file due to all terms of the term dictionary or the term index type file being encrypted as a single contiguous block.