【发布时间】:2012-11-07 08:46:32
【问题描述】:
我正在创建一个字典应用程序,它可以搜索单词及其定义(两个单独的 Fields)。但是,使用StandardAnalyzer,当搜索字符串包含空格或特殊字符时,不会返回搜索结果。
例如,在我的虚拟字典数据中,搜索“lorem”会搜索其定义中包含“lorem”的所有单词,但搜索“lorem ipsum”不会返回任何结果,即使我的大多数虚拟单词在定义。
此外,搜索“make-believe”之类的词只会在键入“make”时返回结果,但只要我包含破折号,就不会返回任何内容。
我想包含空格、破折号、逗号等字符——基本上是搜索字符串中的所有字符(除了“and”、“at”、“by”等无意义的词之外),但是什么分析器我应该使用吗?我试过PatternAnalyzer 并提供.+ 作为Pattern 来查找,但即使只输入一个字母也不会返回任何内容。
【问题讨论】: