<p>I'm building a Django project that needs search functionality, and until there's a <code>django.contrib.search</code>, I have to choose a search app. So, which is the best? By "best" I mean...</p>

<ul>
<li>easy to install / set up</li>
<li>has a Django- or at least Python-friendly API</li>
<li>can perform reasonably complex searches</li>
</ul>

<p>Here are some apps I've heard of, please suggest others if you know of any:</p>

<ul>
<li><a href="http://code.google.com/p/djangosearch/" rel="noreferrer">djangosearch</a></li>
<li><a href="http://code.google.com/p/django-sphinx/" rel="noreferrer">django-sphinx</a></li>
</ul>

<p>I'd also like to avoid using a third-party search engine (like Google SiteSearch), because some of the data I'd like to index is for site members only and should not be public.</p>

Justin, I'd try
djangosearch
first: Jacob Kaplan-Moss (Django's lead developer) is working on it.
Potential hazards:
The home page warns the API might not be entirely stable
Potential benefits:
“The long term goal is for this to become
```
django.contrib.search
```
.”