При вводе значений в поисковую строку поведение системы всегда одинаково, работает полнотекстовый поиск. Что касается задачи NER (Named Entity Recognition), то для этого подходит фасетный поиск, т.е. через фильтры. Естественно, фильтры у нас тоже есть. Задачу NER нам приходилось решать, можно значения фильтров наполнять распознанными по тексту именованными сущностями.
Не пробовали. В SQL работа с иерархической структурой на столь больших объемах может деградировать по скорости, поэтому древовидные структуры не рассматривали именно для решения этой задачи.
Мы для фильтрации слов (вместо словарей стоп-слов) используем морфологический анализатор для русского языка pyMorphy2. Соответственно, если язык слова не русский, то для нормализации применяем Wordnet лемматизатор из NLTK.
При вводе значений в поисковую строку поведение системы всегда одинаково, работает полнотекстовый поиск. Что касается задачи NER (Named Entity Recognition), то для этого подходит фасетный поиск, т.е. через фильтры. Естественно, фильтры у нас тоже есть. Задачу NER нам приходилось решать, можно значения фильтров наполнять распознанными по тексту именованными сущностями.
Не пробовали. В SQL работа с иерархической структурой на столь больших объемах может деградировать по скорости, поэтому древовидные структуры не рассматривали именно для решения этой задачи.
Мы для фильтрации слов (вместо словарей стоп-слов) используем морфологический анализатор для русского языка pyMorphy2. Соответственно, если язык слова не русский, то для нормализации применяем Wordnet лемматизатор из NLTK.