我的搜索结果类似于如下:
search.get_res()
{
"Title": "The Lion King",
"Synopsis": "When the evil Scar kills Mufasa..."
"RunTime": 92
}
但是,如果用户使用不同的语言,我还需要本地化Title
和Synopsis
。换句话说,我需要能够指定如下内容:
search.get_res(language="en")
search.get_res(language="fr")
search.get_res(language="de")
存储它的最佳方式是什么?这一切都应该在一个 json 对象中吗?也许是这样的:
{
"DEFAULT": {
"Title": "The Lion King",
"Synopsis": "When the evil Scar kills Mufasa..."
"RunTime": 92
}, "FR": {
"Title": "Le Grande Lion",
"Synopsis": "Quande elle..."
}
}
或者,存储 solr 搜索结果的最佳方式是什么,其中部分(不是全部,只是部分)信息已本地化,并且可以本地化为最多 50 种语言。如果所有内容都存储在同一个 json 对象中,50 个概要可能会变得相当大...
最佳答案
我假设您想要以多种语言搜索并显示结果。如果是这样的话,那么有两种策略
- 多核配置。每种语言都有自己的核心,在应用程序端,您可以根据用户选择的语言指定要搜索的核心。
- 单核心配置,每种语言都有重复的字段 - 或多或少与您正在考虑的解决方案相同。
我找到了两个网站,其中详细介绍了上述配置。 http://www.basistech.com/indexing-strategies-for-multilingual-search-with-solr-and-rosette/ http://pavelbogomolenko.github.io/multi-language-handling-in-solr.html
如果您只想选择以不同语言显示结果,但将搜索限制为英语,那么解决方案可能会更简单。 示例文档
{
"Doc1": {
"EN_Title": "The Lion King",
"EN_Synopsis": "When the evil Scar kills Mufasa..."
"FR_Title": "Le Grande Lion",
"FR_Synopsis": "Quande elle..."
}
}
在 Solr 搜索中,您将返回字段指定为
&fl=FR_*
(法语)或
&fl=EN_*
(英语)
关于python - 如何存储搜索结果以进行本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278681/