如何存储本地化搜索结果

2024-09-27 00:22:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我的搜索结果如下:

search.get_res()
{
  "Title": "The Lion King",
  "Synopsis": "When the evil Scar kills Mufasa..."
  "RunTime": 92
}

但是,如果用户使用不同的语言,我还需要本地化TitleSynopsis。换句话说,我需要能够指定如下内容:

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个概要可能会变得相当大。。。你知道吗


Tags: thesearchgettitlereslanguagewhenevil
1条回答
网友
1楼 · 发布于 2024-09-27 00:22:21

我假设您希望以多种语言搜索和显示结果。如果是这样的话,那么有两种策略

  1. 多核配置。每种语言都有自己的核心,在应用程序端,您可以根据用户选择的语言指定要搜索的核心。你知道吗
  2. 单核配置,每种语言都有重复的字段-或多或少都是您考虑的同一种解决方案。你知道吗

我找到了两个网站,详细介绍了上述配置。 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_*(英语)

相关问题 更多 >

    热门问题