1

単語とその説明を含むDBテーブルがあります(辞書のようなものです)。これらの単語には同義語が含まれている可能性があり、単語と同義語の両方を検索できるようにして、結果として「主な」単語が得られるようにしたいと考えています。これを実装し、検索を可能な限りシンプルかつ効率的にするための最良のDB構造は何でしょうか?

: 単語は「木」であり、同義語の「植物」と「植生」が考えられます。「植物」を検索すると、結果は次のようになります。

(植物、植生) : 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 に答える