Shawn, Why are range searches more efficient than wildcard searches? I guess I would have expected that they just provide different mechanism for defining the range of unique terms that are of interest, and that the merge processing would be identical.
Would a search such as: field:c* be more efficient if rewritten as: field:[c TO d} then? On Fri, May 11, 2018 at 10:45 AM, Shawn Heisey <apa...@elyograg.org> wrote: > On 5/10/2018 2:22 PM, Deepak Goel wrote: > >> Are there any benchmarks for this approach? If not, I can give it a spin. >> Also wondering if there are any alternative approach (i guess lucene >> stores >> data in a inverted field format) >> > > Here is the only other query I know of that can find documents missing a > field: > > q=*:* -field:* > > The potential problem with this query is that it uses a wildcard. On > non-point fields with very low cardinality, the performance might be > similar. But if the field is a Point type, or has a large number of unique > values, then performance would be a lot worse than the range query I > mentioned before. The range query is the best general purpose option. > > The *:* query, despite appearances, does not use wildcards. It is special > query syntax. > > Thanks, > Shawn > >