lucene.net 分词搜索问题
我使用了lucene.net的内置分析器StandardAnalyzer,对于中文搜索没有任何问题,但是对英文和数字以及符号等搜索不是很理想
举个例子:12345-12,当我输入12345的时候是检索不到12345-12的,只有在输入12345-12的时候才能被检索到
不知怎么才能解决,在网上看了ChineseAnalyzer,不是内置的,不知道效果怎么样,希望哪位大侠能帮忙提供一个比较好的解决方法,倾囊相送100分
------解决方案--------------------
------解决方案--------------------默认情况下是针对非中文进行分词的。至于lz的问题,我无法回答,了解它不深。
------解决方案--------------------
中科的分词还可以,不过出现繁体中文时会出错,文章长度太长也出现错误。。C#的中科bug挺多
可以去搜索射日分词,还不错。。
今天刚从中科的分词转到射日。就是因为中科分繁体出错。
------解决方案--------------------
Analysis模块主要提供了文本解析的功能,输入为TextReader的字符流,最终解析成TokenStream形式的结果返回给调用端。Analysis主要为Index和QueryParser模块提供解析服务,分别是在Indexing原始文件和解析搜索语句中的Term的过程中。
定义了基类Analyzer, 子类SimpleAnalyzer(简单分析器,只分词),StopAnalyzer(定义了StopTable,过滤Noise Word)以及标准分析器StandardAnalyzer。
SimpleAnalyzer:功能强于WhitespaceAnalyzer,将除去letter之外的符号全部过滤掉,并且将所有的字lowcase化,不支持中文
StopAnalyzer:StopAnalyzer的功能超越了SimpleAnalyzer,在SimpleAnalyzer的基础上
增加了去除StopWords的功能,不支持中文
StandardAnalyzer:英文的处理能力同于StopAnalyzer.支持中文采用的方法为单字切分.
ChineseAnalyzer:来自于Lucene的sand box.性能类似于StandardAnalyzer,缺点是不支持中英文混和分词.
------解决方案--------------------