Findjango: A Django Search Vertical
Ever since the first time I saw Yahoo! BOSS, I've been wanting to work on a Django-specific vertical search. Any moderately technical topic has a dozen RSS feed aggregators, but few have the necessary content and interest to sustain a search vertical, and fewer still have a targeted search that outperforms the search giants1.
I'm excited to announce the opening of findjango, a Django search vertical.
(If the site doesn't look like the above screenshot, try a hard refresh.)
Rather than a long-winded description of what it is, go ahead and try some queries:
- Search for test.
- Search for yahoo.
- Search for expire cache.
Sources of Content
An up-to-date list of sources is always accessible on Findjango itself. but currently it is taking advantage of five sources for search results as well as constructing a slender index of the Django documentation.
Those five sources are:
- Yahoo! BOSS web results, restricted to a handful of relevant sites.
- lethain.com results, limited to those containing the
django
tag. - yashh.com results, again limited to the
django
tag. - Tweets that contain the query term and the term
django
(the poor man's search vertical). - Amazon book results that meet the query, contain the term
django
, and don't contain a handful of Jazz related terms.
This is definitely just the beginning in terms of content sources. Even if you only have a small blog, as long as you can filter for Django related content, I'd love to integrate your content here as well. All it takes is an externally accessible search api, preferably using the Springsteen Service format, but get in touch and we can discuss details.
Implementation
Findjango's implementation is built on top of django-springsteen, and Springsteen does most of the heavy lifting. At this point there are only a few custom pieces:
- Reporting irrelevant terms.
- A Django specific relevancy and ranking algorithm.
- Indexing and matching queries against the Django documentation.
- Custom service wrappers to access this blog as well as yashh.com.
The Future
I have a handful of intertwined goals for Findjango:
The first is to serve in the flagship fleet for django-springsteen as an example of a highly targeted search experience (Springsteen Search being the example of a non-targeted search experience).
The next--although not less important--goal is for Findjango to be a genuinely useful resource for the Django community. A big part of this will be adding more resources, but also continued work on relevancy and other tweaks.
Finally, and perhaps most exciting, in the upcoming days I'll be opening Findjango as an externally accessible api, which will allow other sites in the community to directly query Findjango and display the results in their own pages.
I'm excited to hear your feedback, and any suggestions on how to make FIndjango a more useful resource. Thanks for reading.
As a bonus tidbit, Josh Gourneau has implemented a MyCroft plugin, making Findjango usable from the Firefox and IE search box.
I am aware of djangosearch.com, but findjango and djangosearch.com are attempting very different things. DS is an amalgamation of an RSS feed aggregator, a project listing and a Google Custom search.
On the other hand, findjango is designed to harness existing community projects. For example, rather than hosting a project listing, findjango is working towards integrating with djangoplugables.com. There are deeper more technical differences, but I think this is the most important distinction.↩