我有一个带有单词和描述的DB表(有点像字典)。这些单词可以有同义词,我希望能够搜索单词和同义词,从而给出“主”单词。实现这一目标的最佳数据库结构是什么,并使搜索变得简单有效?
例如:一个词可能是'tree',可能是同义词'plant'和'vegetation'。搜索“植物”时,结果应该是:
树 (植物,植被):Blablabla
假设我也想搜索单词描述会改变你的答案吗?
域名(如果重要)是带有Sqlite DB的Android应用程序。
P.S。我见过诸如Good database and structure to store synonyms之类的问题,但这有点具体。
答案 0 :(得分: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
相同的每一行都是其他行的同义词。
您可能希望在存储它们之前对其进行“规范化”(全部小写,单数等)。