私はグーグルの「もしかして」機能をJavaに実装しようとしています。インターネット上で正しく動作するというコードを見つけましたが、実行しようとするとエラーが発生します。私が正確に理解していないコードの唯一の部分であるディレクトリの作成に関係していると思います。
ここにコードがあります、何が悪いのかについて私に助けを教えてもらえますか?前もって感謝します!
public static void main(String[] args) throws Exception {
File dir = new File("C:/Users/Lala");
Directory directory = FSDirectory.open(dir);
SpellChecker spellChecker = new SpellChecker(directory);
spellChecker.indexDictionary(
new PlainTextDictionary(new File("fulldictionary00.txt")));
String wordForSuggestions = "hwllo";
int suggestionsNumber = 5;
String[] suggestions = spellChecker.
suggestSimilar(wordForSuggestions, suggestionsNumber);
if (suggestions!=null && suggestions.length>0) {
for (String word : suggestions) {
System.out.println("Did you mean:" + word);
}
}
else {
System.out.println("No suggestions found for word:"+wordForSuggestions);
}
}
このファイルfulldictionary00.txt
は、正しい形式のプレーンテキストファイルです。
私が得るエラーは18行目です:
SpellChecker spellChecker = new SpellChecker(directory);
だからそれはディレクトリの作成と関係があります。私はあなたがそれを見たときに何かアイデアが正確である場合に備えて私が得るエラーを貼り付けています。
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/lucene/document/Fieldable at did_you_mean.main(did_you_mean.java:18) Caused by:
java.lang.ClassNotFoundException: org.apache.lucene.document.Fieldable