Creating a generic Search API

You are viewing a wiki page. You are welcome to join the group and then edit it. Be bold!

Project information

Project page on Search API
Student: Thomas Seidl (drunken monkey on d.o)
Mentor: Robert Douglass (robertDouglass)

Current status: (official) project finished
For further development see the discussion and the issue queue.


Goal and Deliverables

The goal of this project is to build a generic Search API that will on the one hand abstract from the data source (using the entity_metadata module) — thus allowing all kinds of entities to be as easily indexed and searched as nodes —, and from the indexer / search engine on the other hand, making concrete implementations like Solr, Lucene, Xapian, … implement only the specific details and thereby eliminating unnecessary code duplication.
Also the gathered metadata and the search engine interface could be used to create a generic Views integration for all searches, thus letting all supported searches display their results as a configurable view.
The planned overall design is sketched in this diagram.

Project schedule

Since my semester doesn't end until the beginning of July, most of the actual coding for my project will have to be done in the last one and a half months. The first month will mostly be dedicated to planning, research and a maybe bit of prototyping.
(View all my GSoC 2010 task issues)