2012-06-14 54 views
2

我正在为一个网站构建一个搜索引擎,用户可以在很多不同的国家和地方发布文本内容。ElasticSearch使用多种词干语言

我会认为: - 一个法国人在产生内容的法语和英语 - 一个德国的德语和英语 等产生的内容...

想什么,我知道,如果有可能在同一时间使用不同的雪球词干语言进行搜索,以便我们在同一时间获得适当的结果。

我们是否必须创建一个索引每雪球stemmer langage?

这种情况是否存在已知模式?

感谢

+0

不知道我理解你想要的这里。您正尝试使用单个查询搜索多种语言......并返回混合结果(以多种语言显示结果)? –

+0

是的,在单个搜索字段中,我希望能够检索多种语言的文档(基本上是2,用户国家语言和英语) –

回答

2

这么快声明,我不是在制止/语言形态方面的专家,但因为没有人其他人在回应,这是我的理解。另外,我的大部分经验都是沿着solr的路线。

为了能够使用单个混合结果集针对多种语言进行查询,您需要使用多语言stemmer。我不确定弹道导弹的可用性。

尝试将单个语言设计的多个词干分析程序应用于单个索引时,它们将会彼此踩踏并且可能不会产生预期结果(词干规则因语言而异)。

每个语言的索引都有相应的词干分析器,适用于具有单一语言结果的查询。试图将来自多个查询的结果与多个索引结合起来通常是相当成问题的(你必须尝试规范化相关性并处理分页)。

+0

谢谢。我询问了我公司的ElasticSearch专家,看起来我们可以使用多语言词干分析工具,如果文档能够提供使用的语言的话。但是对于同一个文档使用2个词干,我还不知道。计算文档的语言并不总是那么容易,因此我想用多种语言对相同的文档进行索引 –

2

您可以创建2个独立的索引并同时在两个(或全部)上进行搜索。只要指数的字段相同,您将获得有效的结果。