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