1

我有一个带有单词和描述的数据库表(有点像字典)。这些单词可以有同义词,我想同时搜索单词和同义词,从而得到“主要”单词。实现这一点并使搜索尽可能简单和高效的最佳数据库结构是什么?

例如:一个词可能是“树”和可能的同义词“植物”和“植物”。搜索“植物”时,结果应类似于:

(植物、植被):Blablabla


假设我还想搜索单词描述,这会改变你的答案吗?

域(以防万一)是带有 Sqlite DB 的 Android 应用程序。

PS 我已经看到诸如存储同义词的良好数据库和结构之类的问题,但这更具体一些。

4

1 回答 1

1

就像是:

create table descriptions
(
   description_id integer not null primary key,
   content varchar
);

create table words
(
   word varchar not null primary key,
   description_id integer not null,
   foreign key (description_id) references descriptions (description_id)
);

(不是100%关于语法,我不是很懂SQLite,但上面是ANSI SQL)

words表中具有相同内容的每一行都是description_id其他行的同义词。

您可能希望在存储单词之前对其进行“规范化”(全部小写、单数等)。

于 2012-11-29T22:58:09.517 回答