我想将NHibernate.Search集成到多语言网站。现在,这个网站包含一个多语言类Article
。这是通过一个独立的课程来完成的 - Article_CultureInfo
它存储了特定于语言的内容。的Article
领域是nhibernate.search/lucene.net多语言分析器
Article
-------
ID
Name
而且Article_CultureInfo
是:
Article_CultureInfo
-------
ID
ArticleId
CultureCode
PageTitle
Content
我使用Nhibernate.Search.Mapping
绘制出现场/文件信息。我希望在可能的基础上结合词干和同义词分析等搜索功能。有什么方法可以在运行时指定Lucene分析器,而不是编译时间/初始化?
说我们正在分析PageTitle
的内容将被存储在各自的Lucene索引 - 这些内容可以基于CultureCode
价值为英语,法语,意大利语等。因此,分析仪应根据此值进行更改。我尝试过实施一个自定义MultilingualAnalyser
,但唯一可用的数据是要分析的字符串,即值为PageTitle
。只有那一点,我不能推断出这种语言。 (我可以看看语言检测技术,但这是超出范围,因为我已经明确知道它是什么,并且会过度杀伤并且不是100%可靠的。)
如果我除了令牌之外,该对象的实例,我可以从中获得CultureCode
值,并据此进行分析。任何想法将不胜感激 - 我真的希望避免直接使用Lucene.Net,因为NHibernate.Search看起来很好地集成。
谢谢!