データベースごとに常に 1 つの ID であるため、アプリケーションではなくデータベース内から単一の値、つまりその名前でデータベースにラベル付けできるようにしたいと考えています。たとえば、次のようなものです。
DATABASE_A.sql
-- Database Name Table
CREATE TABLE database (
name VARCHAR(10) NOT NULL UNIQUE,
);
CREATE TABLE item (
id SERIAL PRIMARY KEY,
name VARCHAR(10) NOT NULL UNIQUE,
);
Insert Into database (name) values ('A');
DATABASE_B.sql
-- Database Name Table
CREATE TABLE database (
name VARCHAR(10) NOT NULL UNIQUE,
);
CREATE TABLE item (
id SERIAL PRIMARY KEY,
name VARCHAR(10) NOT NULL UNIQUE,
);
Insert Into database (name) values ('B');
これは、それらが結合されて SOLR 検索サーバーに格納されると、ID が次のようにデータベース名とアイテム ID の組み合わせになるためです。
SOLR ITEM ID
A1
A2
A3
B1
SQL Web サイトから SOLR を検索するときに、次のクエリを実行できるように、プレフィックスを定義する単一のテーブルを用意しても問題ありませんか。
database (name) + item (id) = SolrID