使用规范化数据的应用中的多语言自由文本搜索?

问题描述 投票:4回答:1

我们的数据库中有枚举,自由文本和引用的字段等。

每个枚举都有自己的翻译,自由文本可以使用任何语言。我们想进行高效的大规模自由文本搜索和基于枚举值的搜索。

我知道像Solr这样的解决方案很好,但这意味着我们必须使用系统中所有语言的所有文本来索引整个非规范化记录。这似乎有点过分。

搜索多语言归一化数据有哪些推荐方法?有人解决过吗?

search web-applications full-text-search multilingual database-normalization
1个回答
0
投票

ETL。提取,转换,加载。换句话说,从现有数据库中获取数据,对其进行转换(这不仅仅是将其标准化),然后将其加载到SOLR中。 SOLR数据库将比现有数据库小很多,因为没有关系开销。 SOLR搜索可以减轻您现有数据库服务器的大部分负担。

很好地了解如何配置和使用SOLR,并了解SOLR内核。您可能希望将某些语言放在单独的内核中,因为那样您可以更有效地在SOLR中使用各种词干算法。但是,即使使用了多语言数据,您仍然可以使用二元语言(例如,用于中文分析的语言)。

具有多个内核会使搜索稍微复杂些,因为您可以尝试使用单一语言索引或所有语言索引。但是,对语言数据进行分组并应用特定于语言的停用词,受保护的单词,词干和语言分析工具会更加有效。

通常,您会在索引中包括一些关键数据,以便在通过SOLR搜索找到记录时,可以直接将其引用到源数据库中。同样,您可以将标准化和非标准化的数据放在一起,例如,一个枚举可以记录在英语的标准化字段中,也可以用与自由文本相同的语言记录在非标准化的字段中。可以复制一个字段,以便应用两种不同的分析和过滤处理。

为了了解SOLR的工作原理和最佳配置方式,值得用一部分数据试用一下。

© www.soinside.com 2019 - 2024. All rights reserved.