Я экспериментирую с идеей использования полнотекстовой индексации SQL Server. Это кажется идеальным для этой задачи, но мой клиент хочет получить очень похожую на Google сводку результатов, где результаты отображают фрагмент текста вокруг поискового запроса .
Если я ищу "дом" ...
Мой дом очень, очень, очень хороший дом
... спасибо, что посетили наш дом сегодня ... вам не нравится этот дом ... эй, почему вы поджигаете мой дом ? ...
Это не так уж сложно, если их поисковый запрос является точным совпадением с тем, что произошло при поиске. Вы можете просто сделать утомительный анализ текста, чтобы сгенерировать выдержку.
Но что происходит с инфлекционалами и основами? Если я найду слово "прогулка", запрос может попасть в слова "прогулка", "прогулка" и т. Д. Мне нужно было бы точно знать какое слово в результатах поиска, на которое оно попало, поэтому я мог бы узнать где основать мою добычу.
Эта область кажется созревшей для какого-либо коммерческого дополнения к продукту, или, может быть, есть элегантный способ сделать это, что я не рассматриваю?
(И, да, нам известны GSA и Google Mini. Есть несколько тонких причин, по которым они могут не работать в этом случае, поэтому сначала мы пробуем SQL FTI.)