今回は、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 件のコメント:
コメントを投稿