I have a typical enterprise/business application that I am developing that includes orders, salespersons, contacts, reference data, etc... There will be at least 100 or more users on the system at a time who are entering new data, changing data, etc. I need to provide search capability across the application for almost all tables.
One option is to do table queries such as "select * from salespersons where name contains 'searchtest'" or something similar. But I was wondering if I can use Lucene(.net) for this instead.
The main thing is that the search needs to reflect changes within a few seconds. So if a user enters a order, for example, and then immediately searches for it right after, then it needs to show up in the search list. (i.e., I can't have an index job every hour or half hour, or nightly, etc).
Is this something that would work well, or is there a better option?