On May 16, 2019, at 1:25 PM, Eric Lease Morgan <emor...@nd.edu> wrote:
> 
> Is it possible to create a Solr index, copy the file(s) to my local machine, 
> and query the index sans the Solr server?

That's a bit tricky, but possible.   It's a Lucene index, which is just a 
directory of binary files.   The trick to querying it, sans Solr, will be to 
write Java code using the Lucene API - and to synchronize your 
analysis/tokenization with how it was indexed.   That last part is the 
challenge since you'll have a Solr schema (in schema.xml or managed-schema) 
that won't be useful in a pure Lucene API using app.   

There is one other option above using the lower level Lucene API, and that's to 
use Solr's EmbeddedSolrServer, which is a Java API that launches an in-process 
"Solr" (but not over HTTP, just in process Java API) - that will allow you to 
leverage the Solr schema and everything else just like it was Solr over the 
wire.

Personally, I'd fire up a real Solr server locally with the Solr configuration 
and use localhost - which will be the easiest way to get a foreign Solr 
collection running locally.

> SQLite works like that. There is no server. I can use SQLite to create a 
> file, copy the file to a different computer (even a different operating 
> system), and use a SQLite client on the different machine. In fact, there are 
> bunches o' API's I can use to query the SQLite file. 

Yeah, that's equivalent Solr's EmbeddedSolrServer API.   But does require 
writing Java (or JVM, like say JRuby!) code to leverage it.   [I could imagine 
a Solr feature request that makes a simpler client, but it'd probably get 
pushback saying "just use Solr over HTTP locally"]

> Solr is a great indexer, IMHO, but if I were able to copy the index file 
> locally, and query it without the server, then I think Solr would be even 
> greater. 

Or query it remotely?

        Erik

Reply via email to