我们目前正在开发一个支持全文搜索的应用程序,我们Lucene.NET是我们的首选武器。预计会有来自不同国家/地区的人使用应用程序,因此Lucene.NET必须能够同时搜索俄语,英语和其他文本。
是否有适合我们需求的通用和独立于文化的分析器和分析仪?我知道最终我们必须使用特定于文化的文档,但我们想要使用这种可能快速而肮脏的方法来启动和运行。
答案 0 :(得分:1)
没有语言独立的词干分析器这样的东西。实际上,词干是否会提高检索性能因语言而异。您可以做的最好的是语言猜测文档和查询,然后发送到适当的分析器/词干分析器。
短语查询的语言猜测是 hard ,但是(如同最先进的,不是快速'n'脏)。如果您的查询很短,您可能需要在查询中使用简单的空白分析器,而不是干扰任何内容。
答案 1 :(得分:1)
鉴于英语和俄语的拼写,语法和字符集明显不同,任何试图同时做这两者的词干都要么大,要么表现不佳(很可能都是)。
对每种语言使用词干分析器可能会好得多,并根据UI线索(用于查询的语言)或显式选择来选择使用哪一种语言。
话虽如此,任何俄语文本都不太可能正确匹配英文搜索词,反之亦然。
这听起来像是一个更多的业务分析比代码更有帮助的情况。