免责声明:我从没当过数据库专家。而且我只是开始使用Elastic Search。 :)
我正在创建一个词典类型的数据库。
用MySQL术语来说,我有一个“单词”表,像这样:
|-------------------
| Words
|-------------------
| id
| name
| part_of_speech
| language
|-------------------
和“翻译”表,将单词链接在一起,例如:
|-------------------
| Translations
|-------------------
| word_a_id
| word_b_id
| sense
|-------------------
如何将其迁移到Elastic Search?
我创建了一个类型为
dictionary
的索引word
。如何设置
translations
表并仍然保留对现有“单词”的引用?我缺少概念性的东西吗? 最佳答案
ElasticSearch在概念上是基于文档的,而不是基于关系的。实现所需目标的一种可能方法是创建“翻译”索引,其中每个条目将包含一组嵌套的“单词-POS-语言”对和“含义”字段。然后,您可以在此索引中搜索包含给定单词的每个条目。
或者,您可以将“单词”视为“翻译”的子文档。那将与您当前的方法更相似。在ElasticSearch中,您将必须查找给定单词的父翻译,然后再次调用以查找属于给定语言的该翻译的子单词。
我不能说这是否是最有用的翻译方法,因为单词有多种含义,对于不同的语言,它们不会完全重叠,但这是一个不同的主题。
关于mysql - 数据库设计和 Elasticsearch ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33198031/