У меня есть 2 000 000 строк в моей базе данных mysql. Теперь, когда в качестве ввода вводится новая строка, я пытаюсь выяснить, есть ли строка в моей базе данных, иначе я вставляю строку.Соответствие позиции независимой строке
Определение струнного матча
для моего случая, положение слова в тексте не имеет значения. В строке должны присутствовать только все слова и лишние слова в любой строке.
Ex - Ram мальчик И мальчик Рам будет сказано, чтобы соответствовать. Рам хороший мальчик не будет соответствовать.
PS - Пожалуйста, игнорируйте чувство
Теперь мой вопрос, что это лучший способ сделать это, соответствующие данному количество строк (2000000) Я должен соответствовать.
Решение я мог думать:
- индекс всех строк в ГУМЗ/Sphinx
- На новый поиск, я просто хит сервер поиска и должны рассмотреть на максимум 10 лучших строк
Преимущества: -
- быстрее, чем тузд полнотекстового поиска
Недостатки: -
- Ведение поиска сервера обновляется с новыми запросами в тузд базе данных.
Есть ли другие лучшие решения, на которые я могу пойти? Любые предложения и подход к решению этой проблемы наиболее приветствуются :)
Спасибо!
Это потрясающая идея :) –
сортировать слова, складывать футляр, удалять дубликаты – ChuckCottrill
mysql collations, вероятно, позаботится о складном футляре для вас :) – barryhunter