我正在创建一个应用程序,用户可以在其中用多种语言进行搜索。比方说我有一个网站,里面有一本很大的小说。可能由数千个paragraph组成。有些在20000到30000个paragraph之间。
用户可以阅读多种语言的小说。他能用多种语言搜索。例如,他在英语中搜索"LOVE",我会给他看所有包含"LOVE(爱("的段落。
现在,如果用户切换到法语,并搜索"Amour"(法语中爱的意思(,我会向他显示其中包含"Amoour"的所有段落。
我可以创作两个版本的小说,一个是法语,另一个是英语。事实上,我会有翻译。但是,当用户阅读小说时,我会给他一个选项,点击任何单词,看看它被翻译成其他语言。在这种情况下,如果他用英语阅读,我会给他看这个词的法语翻译,反之亦然。
这意味着我想在不同的语言之间保持一个单词到单词的映射。
一种方法是自己制作一张地图,这是一项艰巨的工作。另一种方式可能是一些API调用,例如Google Translator。你能提出最好的方法吗?已有API吗?一些谷歌术语为这项任务指明正确的方向也会有所帮助。
Elasticsearch可以很好地解决您的问题。
- 只需用他们的母语为您的内容编制索引(索引很好(
- 然后你可以使用Elasticsearch拼音插件进行多语言搜索(https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-phonetic.html)
对于另一部分,如果你想进行逐字翻译,我认为谷歌翻译或其他翻译api可以集成,也可以弹性搜索。
我希望这能有所帮助。