Does a tool with the following features exist?
Command Line Interface (for indexing and searching)
We have grep
for command line searching of txt files. It’s quick as long as the file is at most a few megabytes.
Maintains an index (for searching with immediate results)
We have mlocate
, which uses an index. Unlike grep, it maintains a database (i.e. index), rather than searches the content directly which improves performance.
However, it is meant only for file paths, that too paths that actually are valid in your file system rather than just corpuses (corpi?) of free form text.
Unconstrained in content (for indexing)
For searching of giant volumes of no restrictions on what items (i.e. documents) we store, we have Apache Solr. But those are meant mostly for web clients, not for the command line (though I know you can curl
to its server and parse the XML response - yuck).
So my question is - does (the concept of) a tool that does the following exist?
- the search interface is the command line (like
grep
) - it stores an index of plaintext items (like
mlocate
) - Has no restrictions on what that plaintext semantically represents (like Apache Solr)
I know I could write my own, but a) I’m not going to live that long b) surely someone in the software domain will have had this requirement in their life before?