今回は、FlexLuceneのFuzzySuggesterの使い方をご紹介します。
- 以下のコードで、"Content"にある転置インデックスからFuzzySuggesterの結果を確認することがきます。
private void FuzzySuggestTest() {
java.nio.file.Path idxPath = FileSystems.getDefault().getPath(storePath);
var fsDir = FSDirectory.Open(idxPath);
var idxReader = DirectoryReader.Open(fsDir);
Dictionary dictionary = new LuceneDictionary(idxReader, "Content");
var directory = new RAMDirectory();
var suggester = new FuzzySuggester(directory, "", new JapaneseAnalyzer());
suggester.Build(dictionary);
//最大3候補を表示
var resultList = suggester.Lookup("単体", false, 3);
int cnt = 0;
for (int i = 0; i < resultList.size(); i++) {
var lr = (FlexLucene.Search.Suggest.LookupLookupResult)resultList.get(i);
string keyword = lr.Key.toString();
Debug.WriteLine(keyword);
}
}
- FuzzySuggesterの結果
後は、抽出した「もしかして」キーワードで再検索できるように実装すれば、「もしかして検索」機能を実現できます。
0 件のコメント:
コメントを投稿