编程语言
首页 > 编程语言> > python – Django“你的意思是?”查询

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