eLibrary

eLibrary (electric library) is a Java software to search files and folders in an OS file system. It differs from general OS file search engines in that it personalizes the indexing setup so that users can choose which directories to index or remove from an existing index and it can also suggest queries just like Google's "Did you mean" feature. The customization of indexing and query suggestion greatly improves search speed and make user experience more comfortable. eLibrary can also extract text content from files of many widely used file types such as pdf, doc, ppt, and mp3 to improve the index quality.

The motivation of implementing this tool comes from my everyday experience of finding a file. I usually face four cases. In the first case where I know the file path, I need to click directories on my OS file system until I find the file. This procedure usually takes me 25 seconds in average. In the second case that I forget the file location except the name of the file or its parent directory, it will take me unexpected amount of time. In the latter case I usually turn to the OS built-in file search engine but it is too slow to response because it indexes every files in the file system, and I'm unable to configure which directories I need to index or remove from the index. The third case is more challenging, where I don't clearly remember the query terms. In this case, a "Did you mean" feature that is statistically dependent with my search experience and my corpus would be very helpful. The fourth case is most challenging where I need to do a content based search as in a general search engine, so that query terms do not necessarily occur in titles. General OS built-in search engines cannot meet the above needs. If you get the same headache with me, this tool is right for you.

Features

1. Content based personalized search engine.

2. Embedded advanced retrieval models.

3. Customized indexing where users can choose which directories to add into or remove from the search index.

4. Did you mean like query suggestion.

5. Text extraction from files of many widely used file types.

6. Support of opening a search result and its file location.

7. Drag and drop support for indexing.

8. Copy and paste support for indexing.

9. Simple search operators.

10. Query completion.

11. Query term suggestion.

12. Mouse gesture recognition.

13. Undo and redo support.

SourceForge

https://sourceforge.net/projects/elibrarysearch/

Usage

Since version 1.0 eLibrary has been a stand-alone software, just run it by either double click or a command line. No configuration is required.

Search operators:

filetype:[\\s.]*[a-zA-Z]* -- Show search results of the specified file type. Please use "dir", "folder", or "directory" to search folders.

ftype:[\\s.]*[a-zA-Z]* -- Show search results of the specified file type. Please use "dir", "folder", or "directory" to search folders.

ext:[\\s.]*[a-zA-Z]* -- Show search results of the specified file type. Please use "dir", "folder", or "directory" to search folders.

"term" -- Search results must contain the double quoted query term.

~term -- Search results must not contain the query term appearing after the operator '~'.

Major accelerators:

Ctrl + K / Enter: Search

Alt + C: Clear query and search results

Ctrl: Keep the file path for the search result in the bottom text field

Tab: Select the next suggested query or token from a drop-down list under the search box

Alt + numKey(1-9): Click the numKey-th result

Ctrl + numKey(1-9): Go to the numKey-th tab

Ctrl + Tab: Switch to the next tab

Ctrl + Shift + Tab: Switch to the previous tab

Ctrl + Q: Exit

Ctrl + Z: Undo

Ctrl + Y: Redo

Alt + <- or Alt + [: Re-search previous query

Alt + -> or Alt + ]: Re-search next query

Mouse control:

Single left click: Execute a search result, open either a file or a directory

Single right click: Open the parent directory of a search result being clicked

Drag by middle mouse button: Remove a document or directory from index

Single right click when pressing the control key: Open a pop-up menu

Mouse gestures:

"Left"(L): Re-search previous query

"Right"(R): Re-search next query

"Up + Left"(UL): Go to previous tab

"Up + Right"(UR): Go to next tab

"Down + Right"(DR): Exit

Screenshot

eLibrary

Dependencies

eLibrary depends on Apache Lucene, Apache Tika, and Smardec MouseGestures.

-----------------------------------

Author: Mingjie Qian

Version: 3.0

Date: July 6th, 2014