Eloi Rocha wrote:
Hi everybody,

I would like to know if does make sense to use Solr in the following
scenario:
  - search for large amount of data (like 1000, 10000, 100000 registers)
  - each register contains four or five fields (strings and integers)
  - every time will request for entire result set (I can paginate the
results). It would be much better to get all results at once [...]

Depends on what kinds of searching you're doing. Are you doing searching that needs an indexer like Solr? Then Solr is a good tool for your job. Are you not, and you can do what you want just as easily in an rdbms or non-sql store like MongoDB? Then I wouldn't use Solr.

Assuming you really do need Solr, I think this should work, but I would not store the actual stored fields in Solr, I'd store those fields in an external store (key-value store, rdbms, whatever). You store only what you need to index in Solr, you do your search, you get ID's back. You ask for the entire result set back, why not. If you give Solr enough RAM, and set your cache settings appropriately (really big document and related caches), then I _think_ it should perform okay. One way to find out.

What you'd get back is just ID's, then you'd look up that ID in your external store to get your actual fields you want to operate on. _May_ not be neccesary, maybe you could do it with solr stored fields, but making Solr do only exactly what you really need from it (an index) will maximize it's ability to do what you need in available RAM.

If you don't need Solr/Lucene indexing/faceting behavior, and you can do just fine with an rdbms or non-sql store, use that.

Jonathan

Reply via email to