Reputation: 15
I am currently reading a few tutorials on Apache Lucene. I had a question on how indexing works, which I was not able to find an answer to.
Given a set of documents that I want to index, and search with a string. It seems a Lucene program should index all these documents and then search the inputted search string each time the program is run. Will this not cause performance issues? or am I missing something?
Upvotes: 1
Views: 47
Reputation: 33351
No, it would be pretty atypical build a new index every time you run the program.
Many tutorials and examples out there use RAMDirectory
, perhaps that's where the confusion is coming from. RAMDirectory
creates an index entirely in memory. This is great for demos and tutorials, because you don't have to worry about the file system, or any of that nonsense, and it ensures you are working from a predictable blank state from the start.
In practice, though, you usually won't be using it. You would, instead, use a directory on the file system, and open an existing index after creating it for the first time, rather than creating a new index every time you run the program.
Upvotes: 1