Я хотел бы построить индекс, содержащий п-грамм каждой строки из моего входного файла, который выглядит следующим образом:создавать и запрашивать индекс энграмм с Lucene
Segeln bei den Olympischen Sommerspielen
Erdmond
Olympische Spiele
Turnen bei den Olympischen Sommerspielen
Tennis bei den Olympischen Sommerspielen
Geschichte der Astronomie
мне нужно п-г потому что я хотел бы искать в индексе, но я должен предположить, что в поисковом периоде имеется много ошибок ввода. Например, я хотел бы найти «Geschichte der Astronomie», если я буду искать термин «schichte astrologie». Было бы даже лучше, если бы он дал мне список лучших возможных матчей, скажем, лучшие 10 матчей, как бы они ни были плохими. Надеюсь, вы можете указать мне в правильном направлении, если будет лучший способ достичь этого, чем с помощью n-граммов, или что у вас есть подсказка о том, как создать индекс и как его запросить. Я был бы очень рад получить пример, который поможет мне понять, как это сделать. В настоящее время я использую lucene 4.3.1. Я бы предпочел реализовать его в java и не построить индекс в командной строке.
Спасибо за ваш ответ. Я попробовал кое-что с GermanStemmer и не был удовлетворен. Также я не ищу синонимы, но для ввода ошибок и т. Д. Нечеткие запросы также не работают, потому что они не могут дать мне столько предложений, сколько мне нужно, если поисковый запрос очень далек от всего, что содержится в моем индексе. NGramTokenizer выглядит очень многообещающим, у вас есть пример, как построить индекс и запросить его с помощью NGramTokenizer? – tadumtada