Flexible schema column store
First Claim
1. A method for searching data using a network device that is operative to perform actions, comprising:
- storing data into at least one datastore;
generating at least one field name that corresponds to at least one field value from the data;
determining at least one posting value associated with the at least one field name that corresponds to the at least one field value, wherein the at least one posting value at least identifies a location of a record in the at least one datastore that includes the at least one field name that corresponds to the at least one field value;
generating at least one lexicon that includes at least one lexicon record that comprises the at least one field name, the at least one field value, and the at least one posting value which correspond to each other;
receiving a query directed to data stored in the at least one datastore;
generating at least one result for the query based on at least a portion of the lexicon separate from the at least one datastore;
if the at least one query includes at least one aggregation function, performing further actions, including;
locating the at least one lexicon record for at least a first lexicon record that includes at least a field name that is associated with the at least one aggregation function; and
generating at least one aggregated result by iterating over each lexicon record that includes the at least one field name and incorporating the corresponding at least one field value into the aggregated result; and
projecting the at least one result into at least one row in at least one table.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments are directed towards receiving and processing search queries directed towards relatively large sets of data. The data is stored in a record based datastore. From the stored data, field names, corresponding field values, and posting values may be determined. Posting values may be employed to locate records in the datastore that include the field names and field values. The field names, field values, and posting values may be employed to generate a lexicon. If queries are received, a lexicon query processor may employ the lexicon separate from the datastore to generate responses to the received queries. Queries may include clauses that may be processed using the lexicon separate from the datastore, such as, where clause expressions, group-by clause expressions, aggregation functions, or the like. A time values array may be used to enable queries to process group-by-time expressions that may return results grouped into sub-sets based on time ranges.
129 Citations
21 Claims
-
1. A method for searching data using a network device that is operative to perform actions, comprising:
-
storing data into at least one datastore; generating at least one field name that corresponds to at least one field value from the data; determining at least one posting value associated with the at least one field name that corresponds to the at least one field value, wherein the at least one posting value at least identifies a location of a record in the at least one datastore that includes the at least one field name that corresponds to the at least one field value; generating at least one lexicon that includes at least one lexicon record that comprises the at least one field name, the at least one field value, and the at least one posting value which correspond to each other; receiving a query directed to data stored in the at least one datastore; generating at least one result for the query based on at least a portion of the lexicon separate from the at least one datastore; if the at least one query includes at least one aggregation function, performing further actions, including; locating the at least one lexicon record for at least a first lexicon record that includes at least a field name that is associated with the at least one aggregation function; and generating at least one aggregated result by iterating over each lexicon record that includes the at least one field name and incorporating the corresponding at least one field value into the aggregated result; and projecting the at least one result into at least one row in at least one table. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A network device that is operative for searching data comprising:
-
a transceiver that is operative to communicate over a network; a memory that is operative to store at least instructions; and a processor device that is operative to execute instructions that enable actions, including; storing data into at least one datastore; generating at least one field name that corresponds to at least one field value from the data; determining at least one posting value associated with the at least one field name that corresponds to the at least one field value, wherein the at least one posting value at least identifies a location of a record in the at least one datastore that includes the at least one field name that corresponds to the at least one field value; generating at least one lexicon that includes at least one lexicon record that comprises the at least one field name, the at least one field value, and the at least one posting value which correspond to each other; receiving a query directed to data stored in the at least one datastore; generating at least one result for the query based on at least a portion of the lexicon separate from the at least one datastore; if the at least one query includes at least one aggregation function, performing further actions, including; locating the at least one lexicon record for at least a first lexicon record that includes at least a field name that is associated with the at least one aggregation function; and generating at least one aggregated result by iterating over each lexicon record that includes the at least one field name and incorporating the corresponding at least one field value into the aggregated result; and projecting the at least one result into at least one row in at least one table. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A processor readable non-transitive storage media that includes instructions for searching data, wherein execution of the instructions by a processor device enables actions, comprising:
-
storing data into at least one datastore; generating at least one field name that corresponds to at least one field value from the data; determining at least one posting value associated with the at least one field name that corresponds to the at least one field value, wherein the at least one posting value at least identifies a location of a record in the at least one datastore that includes the at least one field name that corresponds to the at least one field value; generating at least one lexicon that includes at least one lexicon record that comprises the at least one field name, the at least one field value, and the at least one posting value which correspond to each other; receiving a query directed to data stored in the at least one datastore; generating at least one result for the query based on at least a portion of the lexicon separate from the at least one datastore; if the at least one query includes at least one aggregation function, performing further actions, including; locating the at least one lexicon record for at least a first lexicon record that includes at least a field name that is associated with the at least one aggregation function; and generating at least one aggregated result by iterating over each lexicon record that includes the at least one field name and incorporating the corresponding at least one field value into the aggregated result; and projecting the at least one result into at least one row in at least one table. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification