Неточный полнотекстовый поиск в PostgreSQL и Django

Я новичок в PostgreSQL и не знаю, как выполнить неточный полнотекстовый поиск. Не то чтобы это слишком важно, но я использую Django. Другими словами, я ищу что-то вроде следующего:

q = 'hello world'
queryset = Entry.objects.extra(
    where=['body_tsv @@ plainto_tsquery(%s)'], 
    params=[q])
for entry in queryset:
    print entry.title

где I список записей должен содержать либо в точности «привет, мир», либо что-то подобное. Затем списки должны быть упорядочены в соответствии с тем, насколько далеко их значение от указанной строки. Например, я хотел бы, чтобы запрос включал записи, содержащие «Hello World», «hEllo world», «helloworld», «hell world» и т. Д., С каким-то ранжированием, показывающим, насколько далеко каждый элемент от идеального, неизменная строка запроса.

Как бы вы это сделали?

5
задан Herman Schaaf 18 April 2011 в 21:02
поделиться