Patent Document ID: 8516008
Application ID: 13475798

Base 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.

---

Claim 4:
4. The method of claim 1 , wherein generating at least one result further comprises: if the at least one query includes at least one where clause that includes at least one where clause expression, perform further actions, including: generating at least one helper array for each where clause expression; determining each lexicon record that includes at least one field name associated with the at least one where clause expression; evaluating each where clause expression for each determined lexicon record and storing the result in the at least one helper array; assigning a value in the at least one helper array based on at least the generated result, wherein the at least one helper array corresponds to the where clause expression associated with the generated result; and generating at least one result row based on the at least one helper array, wherein if there is a plurality of helper arrays, the at least one result row is further determined based on at least one logical operand that is included in the at least one where clause.