我正在编写一个相当简单的 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)
我想为此添加一些额外的功能。搜索未拼写的单词、复数、常见的同音字(发音相同,拼写不同)等。我只是想知道这些东西是否内置于 Django 查询语言中。编写一个庞大的算法对我来说还不够重要,因为我真的只是在寻找内置的东西。
提前感谢所有答案。