在我的模型中,我设置了app.get/post/put...
注释,将字段添加到MongoDB的全文索引中:
@TextIndexed
到目前为止这是有效的。
但是如何为索引设置default_language为“De”?
我注意到,当在模型实体上找到语言属性时,Spring会自动设置该语言。 至少这种行为指向了这个结论。 但是,我没有找到任何关于此的文档?
我的模型此时没有语言属性,所以我想知道如何实现这个目标?
答案 0 :(得分:1)
根据unit test's,可以通过@Document
注释将类注释为默认语言。 reference documentation中还有一节。基本上使用与单元测试中相同的代码:
@Document(language = "german")
static class TextIndexedDocumentRoot {
@TextIndexed String textIndexedPropertyWithDefaultWeight;
@TextIndexed(weight = 5) String textIndexedPropertyWithWeight;
TextIndexedDocumentWihtLanguageOverride nestedDocument;
}
static class TextIndexedDocumentWihtLanguageOverride {
@Language String lang;
@TextIndexed String textIndexedPropertyInNestedDocument;
String nonTextIndexedProperty;
}
}
请注意,@Language
注释用作language_override
setting,但这实际上会发生在“子文档”中,如默认字段名称"language"
所示,它是enabling multi language support的一种常见模式,文档中存储了不同的语言短语。
另请注意,语言可以是"german"
或"de"
作为ISO代码,也可以是文档中列出的Text Search Languages支持的任何内容。其他选项仅在Enterprise Edition中提供。