Как мне создать оперативную поисковую систему?(с рейтингом/релевантностью)
Вопрос
Я активно пользовался Sphinx и Lucene.Sphinx просто берет базу данных и индексирует ее.И ты звонишь Сфинксу, чтобы получить удостоверения.
Но что, если я хочу создать поисковую систему, которая будет очень крошечный.Всего несколько строк данных и несколько абзацев слов?Хитрость в том, что строки данных постоянно меняются.Итак, у меня не может быть «индекса».
Я хочу иметь возможность ранжироваться по релевантности, как Sphinx.Как мне это сделать?Я бы, конечно, не стал индексировать...
Решение
Если у вас всего несколько строк данных и несколько абзацев слов в каждой, храните все это в памяти и используйте любой текстовый алгоритм, который наиболее подходит для вашего контента.
Другие советы
Я бы, конечно, не стал индексировать...
Как вы собираетесь определять релевантность, не рассматривая все?
Если данных очень мало, и они меняются настолько сильно, что поддерживать индекс непрактично, вместо этого вы можете создавать индекс каждый раз, когда захотите выполнить поиск данных, запрашивать их, а затем удалять индекс при следующем изменении данных. .При небольшом наборе данных, частых обновлениях и нечастых поисках это может быть более эффективно, чем поддержание индекса.