I have several shares residing on a samba server in a small business environment that I would like to provide search facilities for. Ideally this would be something like google desktop with some extra features (see below), but lacking this the idea is to take what I can get, or at least get an idea for what is out there.
Using google desktop search as a reference model, the principle additional requirement is that it is usable from clients over the network. In addition there are some other notes (note that none of these are hard requirements)
- The content is always files, residing on a single server, accessible from samba shares.
- Standard ms office document fare
- Also a lot of rars and zips which it is necessary to search inside.
- Permissions support, allowing for user-based control to reflect current permission access in samba shares.
- The userbase will remain fairly static, so manual management of users is fine.
- majority of users will be Windows based
I know there are plenty of search indexers out there: beagle and tracker seem to be the most popular. Most do not seem to offer access control and web-based/remote search does not seem to be high priority. I've also seen a recent post on the samba mailing list asking for pretty much the exact same thing. (They mention a product called IBM OmniFind Yahoo! Edition and while their initial reception seems positive, I am pretty skeptical. RHEL 4? Firefox 2? Updated much?)
edit: similar question here
What else is out there? Are you in a similar situation? What do you use?
You could use beagle search on each client machine and point them to the beagle instance running on the fileserver this will allow one centralized index, but then the client will be able to see what ever the beagle process has access to on the fileserver. Which is probably no good.
What I do is mount each share on the client machines using cifs with my smb credentials so the shares appear to be local under /mnt/shares/Documents for example.
This prevents me from accessing files that are not mine, then I use tracker on my machine to index the shares locally.
As you say the user base is fairly static, I would suggest mounting the shares on each client and setting up a local indexing service (Google Desktop / beagle / tracker )that suits you.
I have setup Xapian Omega on a few sites, this means you have to search with a web browser so the experience is not seamless.
I also install a small extension (written in Powershell) that lets the users open windows explorer and highlight the file - https://github.com/DanielO/OmegaLink