I have an index that contains 30 GB worth of news stories. I want to 
return the stories that contain a particular name in their text, sorted 
chronologically. I only want the first 100 stories.

ElasticSearch seems to approach this problem by filtering every story to 
just those that match, then sorting those results and returning the top 
100. This uses a reasonably large amount of resources to filter every 
single one.

Can I get ElasticSearch to instead sort first, and then filter in order 
until it reaches the maximum (100). Granted that this would be 100 per 
shard, but then the final step would be to take each shard's 100, sort them 
all together, and take the top 100 of that result set. This should, at 
least in my mind, use significantly less resources, as it would only need 
to go through maybe 5000 or 10000 items to find a match, as opposed to the 
entirety of the index.

*(Cross-posted 
from 
http://stackoverflow.com/questions/22467585/sort-before-filters-in-elasticsearch
 
<http://stackoverflow.com/questions/22467585/sort-before-filters-in-elasticsearch>,
 
because I didn't get an answer there for 2 days.)*

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/176b2d65-25af-4416-8cc3-0b82b71ad311%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to