Как использовать полнотекстовый поиск в базе данных sqlite3 в django?Python

Программы на Python
Ответить
Anonymous
 Как использовать полнотекстовый поиск в базе данных sqlite3 в django?

Сообщение Anonymous »

Я работаю над приложением django с базой данных sqlite3, имеющим фиксированное содержимое базы данных. Под фиксированным я подразумеваю, что содержимое базы данных не изменится со временем. Модель примерно такая:

Код: Выделить всё

class QScript(models.Model):
ch_no = models.IntegerField()
v_no = models.IntegerField()
v = models.TextField()
В таблице около 6500 записей. Учитывая текст, в котором некоторые слова могут отсутствовать или некоторые слова написаны с ошибками, мне нужно определить его ch_no и v_no. Например, если в базе данных есть поле v с текстом "Это пример стиха", заданный текст типа "Это пример стиха" должен давать мне ch_no и v_no из базы данных. Я думаю, это можно сделать с помощью полнотекстового поиска.

Мои запросы:
  • < li>может ли полнотекстовый поиск сделать это? Судя по тому, что я изучил, я предполагаю, что это возможно, как сказано на странице sqlite3: полнотекстовый поиск — это «то, что Google, Yahoo и Bing делают с документами, размещенными во Всемирной паутине». Цитируется в SO, я тоже прочитал эту статью вместе со многими другими, но не нашел ничего, что точно соответствовало бы моим требованиям.
  • Как использовать FTS в моделях django? Я читал это, но это не помогло. Кажется, это слишком устарело. Прочтите здесь, что: "...требуется прямая манипуляция базой данных для добавления полнотекстового индекса". Поиск дает в основном информацию, связанную с MySQL, но мне нужно сделать это в sqlite3. Так как же выполнить эту прямую манипуляцию в sqlite3?

Изменить:

Правильен ли мой выбор в пользу sqlite3? Или мне следует использовать что-то другое (например, haystack+elasticsearch, как сказал Алекс Морозов)? Моя база данных не будет расти больше, и я изучил, что для базы данных небольшого размера sqlite почти всегда лучше (моя ситуация соответствует четвертой в sqlite, когда использовать контрольный список).

Подробнее здесь: https://stackoverflow.com/questions/350 ... -in-django
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»