lucene.net语音过滤器 [英] lucene.net phonetic filter

查看:85
本文介绍了lucene.net语音过滤器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将文本数据存储到lucene.

I am trying to store text data to lucene.

搜索应带有语音!

我应该在哪里添加语音过滤器?

Where should I add a phonetic filter?

Lucene.Net.Store.Directory dir =
FSDirectory.Open(new DirectoryInfo(Application.StartupPath + "\\Index"));

IndexReader indexReader = IndexReader.Open(dir, true);
Searcher indexSearch = new IndexSearcher(indexReader);
//IndexReader indexReader = IndexReader.Open(dir, true);
//Searcher indexSearch = new IndexSearcher(indexReader);
Analyzer analyzer = new Lucene.Net.Analysis.De.GermanAnalyzer();

//Analyzer analyzer = new StandardAnalyzer(Lucene.Net.Util.Version.LUCENE_29);
var queryParser = new QueryParser(Lucene.Net.Util.Version.LUCENE_29,"content", analyzer);
var query = queryParser.Parse(textBox1.Text+"~0.8");

Console.WriteLine("Searching for: " + query.ToString());
TopDocs resultDocs = indexSearch.Search(query, indexReader.MaxDoc());

Console.WriteLine("Results Found: " + resultDocs.TotalHits)

关于Ingo,

推荐答案

一种方法是实现将Analyzer添加到TokenStream链中的Analyzer,或直接使用TokenStream.

One way is to implement an Analyzer that adds it to the TokenStream chain, or use a TokenStream directly.

即:

System.IO.TextReader someText = ....;
TokenStream phonetics = new PhoneticFilter(new LowerCaseFilter(new WhitespaceTokenizer(someText )));

用实现的TokenFilter替换PhoneticFilter,并在搜索和索引时都使用它.

Replace PhoneticFilter with the TokenFilter you implemented, and use this both at search and index time.

这篇关于lucene.net语音过滤器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆