【发布时间】:2010-10-03 08:20:17
【问题描述】:
我正在编写一个相当简单的 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 查询语言中。编写一个庞大的算法对我来说还不够重要,因为我真的只是在寻找内置的东西。
提前感谢所有答案。
【问题讨论】:
-
您正在寻找“Soundex”搜索算法:en.wikipedia.org/wiki/Soundex
-
Eh ... Soundex 最初旨在捕捉英文姓氏的笔误。对于一般词汇,它的用处不大。
标签: python django spell-checking