ユーザーが文字列クエリを入力できるかなり単純な Django アプリケーションを作成しています。アプリケーションは、データベース内でこの文字列を検索します。
Entry.objects.filter(headline__contains=query)
このクエリはかなり単純明快ですが、探しているものが 100% わからない人にとってはあまり役に立ちません。ということで、検索範囲を広げました。
from django.utils import stopwords
results = Entry.objects.filter(headline__contains=query)
if(!results):
query = strip_stopwords(query)
for(q in query.split(' ')):
results += Entry.objects.filter(headline__contains=q)
これにいくつかの追加機能を追加したいと思います。スペルミスの単語、複数形、一般的な同音異義語 (同じスペルが異なる音) などを検索します。これらのいずれかが Djangos クエリ言語に組み込まれているかどうか疑問に思っていました。組み込みの何かを本当に探しているだけなので、巨大なアルゴリズムを書くことは私にとって重要ではありません。
すべての回答に感謝します。