Извините, если я здесь использую неправильную терминологию, я новичок в Lucene: D
Предположим, что я проиндексировал все названия английской Википедии в Lucene.
Допустим,Я посещаю новостной сайт. В этой статье я хочу преобразовать все фразы (которые соответствуют названию в Википедии) в ссылку на страницу Википедии.
Чтобы уточнить : я не хочу помещать новостиarticle в индекс Lucene, но лучше использовать проиндексированные заголовки WP, чтобы найти совпадения в заданной строке (article). Мы также не хотим беспокоиться о JS / HTML, просто сосредоточимся на Lucene сейчас.
Я также хотел бы , чтобы соответствовать жадности: то есть, если текст содержит "StackПереполнение », я бы хотел связать с SO, а не с« Stack »и« Overflow ». Но если бы я мог получить более короткие спички, это тоже было бы здорово. (Я бы хотел сделать и то, и другое, но я согласен на любой из них, если иметь оба затруднительно).
наивное решение : я вижу, что смогу запроситьотдельные слова итеративно и всякий раз, когда я попадаю в индекс, стараюсь найти текущее слово и следующее слово, пока я не пропущу. Затем преобразуйте последнее совпадение в ссылку и продолжайте после этого, пока я не закончу с полным документом.
Но это кажется очень неловким, и у меня есть подозрение, что в Lucene могут быть некоторые функции, которые могли бы поддержать меня здесь(или, по крайней мере, я на это надеюсь: D), но я понятия не имею, что я буду искать. Инвертированный индекс Lucene должен сделать эту довольно быструю операцию, поэтому я думаю, что она может работать достаточно хорошо, даже при наивном подходе.
Есть указатели? Я застрял: 3