Search is the most important piece of the Evergreen ILS. A strong search is what allows our users to access our resources and find materials that will then become holds and checkouts in the system. A strong search is the reason why we enter our order and bibliographic records into the system with structured data, so that the users can leverage that structured data to find the information they need. Without a strong search, users will turn to other sources to find resources that are readily available at the library.
As such, the following are principles to follow when doing any search development.
Accuracy – Search results should be accurate. The system should retrieve all records that match the user's entered search terms. At the same time, we want a forgiving search that can recognize alternate word forms and can appropriately handle errors in the search terms entered by the user. However, that flexibility shouldn't come at the cost of too much inaccuracy in search results.
Speed – Search retrieval should be fast. Users do not want to wait for their search results screen to load. Entering a very broad search or, conversely, adding too many limiters to a search shouldn't have a huge impact on the speed of a search.
Relevance – Search should utilize the large amount of data already available in the database to deliver the most relevant search results to the top of the search results. The goal should be to return the title the user needs on the first page of search results. The system should not only use bibliographic data, word frequency, and where the word appears in the record as factors in relevance, but should also utilize activity data so that materials with more use appear higher in search results.
Assistance – Search should assist the user in his/her search whenever possible. Assistance can take the form of helping the user with search term entry, providing guidance when search terms are entered incorrectly, and providing easily-accessible options to refine search and further limit results.
Clarity – Search should be clear to the end users who are searching and to the librarians who need to configure the search to best meet the needs of their user population. Configuring search should be easy enough for a librarian to tweak so that he/she can easily make adjustments and immediately see the results of those adjustments. Users should be able to see why specific search results were returned.