Я работаю над приложением 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, когда использовать контрольный список).
Я работаю над приложением django с базой данных sqlite3, имеющим фиксированное содержимое базы данных. Под фиксированным я подразумеваю, что содержимое базы данных не изменится со временем. Модель примерно такая:
В таблице около 6500 записей. Учитывая текст, в котором некоторые слова могут отсутствовать или некоторые слова написаны с ошибками, мне нужно определить его ch_no и v_no. Например, если в базе данных есть поле v с текстом "Это пример стиха", заданный текст типа "Это пример стиха" должен давать мне ch_no и v_no из базы данных. Я думаю, это можно сделать с помощью полнотекстового поиска.
Мои запросы:
[list] < li>может ли полнотекстовый поиск сделать это? Судя по тому, что я изучил, я предполагаю, что это возможно, как сказано на странице sqlite3: полнотекстовый поиск — это «то, что Google, Yahoo и Bing делают с документами, размещенными во Всемирной паутине». Цитируется в SO, я тоже прочитал эту статью вместе со многими другими, но не нашел ничего, что точно соответствовало бы моим требованиям. [*][b]Как использовать FTS в моделях django?[/b] Я читал это, но это не помогло. Кажется, это слишком устарело. Прочтите здесь, что: "...требуется прямая манипуляция базой данных для добавления полнотекстового индекса". Поиск дает в основном информацию, связанную с MySQL, но мне нужно сделать это в sqlite3. Так как же выполнить эту [b]прямую манипуляцию[/b] в sqlite3? [/list]
Изменить:
Правильен ли мой выбор в пользу sqlite3? Или мне следует использовать что-то другое (например, haystack+elasticsearch, как сказал Алекс Морозов)? Моя база данных не будет расти больше, и я изучил, что для базы данных небольшого размера sqlite почти всегда лучше (моя ситуация соответствует четвертой в sqlite, когда использовать контрольный список).
в настоящее время я использую pandas DataFrame.filter для фильтрации записей набора данных. если я дам слово, у меня будут все записи, соответствующие этому слову. теперь, если я дам два слова, которые присутствуют в наборе данных, но их нет в одной...
Я разрабатываю построитель динамических критериев, который принимает параметры фильтра (поле, оператор, значение) и возвращает созданный объект CriteriaBuilder. Я перебираю параметры и использую каждый параметр для добавления в критерии, где:...
Я разрабатываю построитель динамических критериев, который принимает параметры фильтра (поле, оператор, значение) и возвращает созданный объект CriteriaBuilder. Я перебираю параметры и использую каждый параметр для добавления в критерии, где:...
Я создаю поле поиска проекта Laravel, в котором использую полнотекстовый поиск. Мне удалось заставить это работать, но я не могу объединить несколько ключевых слов для поиска.
пример:
у меня есть строка со значением один, два, три, четыре, если я...
Я включил полнотекстовый индекс в моей таблице MySQL с анализатором NGRAM, как показано ниже:
SHOW VARIABLES LIKE 'ngram_token_size'; -- Default set to 2
ALTER TABLE MyTable ADD FULLTEXT INDEX FT_MyTable (value) WITH PARSER ngram;
OPTIMIZE TABLE...