python – Django“你的意思是?”查询
作者:互联网
我正在编写一个相当简单的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查询语言中.对我来说写一个巨大的算法并不重要,因为我真的只是在寻找内置的东西.
提前感谢所有答案.
解决方法:
djangos orm没有开箱即用的这种行为,但有几个项目集成了django w / search服务,如:
>狮身人面像(django-sphinx)
> solr,轻量级lucene(djangosearch)
> lucene(django-search-lucene)
我不能说选项#2和#3的工作情况有多好,但我已经使用了django-sphinx了很多,并对结果非常满意.
标签:python,django,spell-checking 来源: https://codeday.me/bug/20190713/1448713.html