Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

オカズサイトから取得するメタデータは正規化して保存するべき #40

Open
eai04191 opened this issue Jan 16, 2019 · 3 comments
Labels
design 設計の話 metadata

Comments

@eai04191
Copy link
Member

現在オカズサイトからのメタデータの取得はサイト上でカードとして表示するために行っています。

そのためタイトルや概要に何がはいっていても特に問題はありませんが、将来的に検索機能を拡張する際などで再利用性を増やすために、作品のタイトルや作者名や作品の説明、サイト名などをパースして正規化して保存するべきだと考えています。

ただし、今以上にリゾルバのメンテナンスコストが増えるので意見をいただきたいです。

@eai04191 eai04191 changed the title オカズサイトから取得するメタデータは正規化するべき オカズサイトから取得するメタデータは正規化して保存するべき Jan 16, 2019
@eai04191
Copy link
Member Author

具体的には

metadata

[
 {
   "url": "https://www.dlsite.com/maniax/work/=/product_id/RJ167502.html",
   "title": "ち○こ生えた [ケチャップ味のマヨネーズ] | DLsite",
   "description": "女子○生にち○こが生えた!「DLsite 同人 - R18」は同人誌・同人ゲーム・同人音声のダウンロードショップ。お気に入りの作品をすぐダウンロードできてすぐ楽しめる!毎日更新しているのであなたが探している作品にきっと出会えます。国内最大級の二次元総合ダウンロードショップ「DLsite」!",
   "image": "https://img.dlsite.jp/modpub/images2/work/doujin/RJ168000/RJ167502_img_main.jpg",
   "created_at": "2019-01-17 04:45:25",
   "updated_at": "2019-01-17 04:45:25",
   "expires_at": ""
 }
]

から

metadata

[
  {
    "id": 1,
    "url": "https://www.dlsite.com/maniax/work/=/product_id/RJ167502.html",
    "title": "ち○こ生えた",
    "author": "ケチャップ味のマヨネーズ",
    "type": "voice",
    "description": "女子○生にち○こが生えた!",
    "image": "https://img.dlsite.jp/modpub/images2/work/doujin/RJ168000/RJ167502_img_main.jpg",
    "posted_at": "2015-12-17 00:00:00",
    "created_at": "2019-01-17 04:45:25",
    "updated_at": "2019-01-17 04:45:25",
    "expires_at": null
  }
]

metadata_tag

[
 {
   "id": 1,
   "metadata_id": 1,
   "tag_id": 1,
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 },
 {
   "id": 2,
   "metadata_id": 1,
   "tag_id": 2,
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 },
 {
   "id": 3,
   "metadata_id": 1,
   "tag_id": 3,
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 }
]

tags

[
 {
   "id": 1,
   "name": "オールハッピー",
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 },
 {
   "id": 2,
   "name": "オナニー",
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 },
 {
   "id": 3,
   "name": "ふたなり",
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 }
]

metadata_site

[
 {
   "id": 1,
   "metadata_id": 1,
   "site_id": 1,
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 }
]

sites

[
 {
   "id": 1,
   "name": "DLsite",
   "url":"https://www.dlsite.com/",
   "created_at": "2019-01-17 05:08:04",
   "updated_at": "2019-01-17 05:08:04"
 }
]

...

のような形にと

ここまで書いておいてなんですが、かなり大規模な改修で労力が必要そうですね。また様々なデータに対応したデータベースの設計し直しも手間がかかりそうです。

素人目には現状であれば今の作りで問題ないと思っているので、これから先に検索機能や関連アイテムなどの機能の拡張にどれだけ労力を割くつもりなのかによって、変更するかしないかが決まる気がします。

現状変えないつもりであればcloseしてもらって構いません……。

@shibafu528
Copy link
Member

検索データベースとしての価値は飛躍的に上がると思いますが、リゾルバを継続的に維持するコストを誰も払えない気がしますね……

でも、本当はせめてメタデータに対するタグくらいはやりたい気持ちはあります。それをやるくらいなら、提案されていることを一通りやっても大差ないんじゃないか、何を否定しているんだという葛藤がありますが。

@hinaloe
Copy link
Member

hinaloe commented Feb 20, 2019

これ、(サイトはともかく)Metadataのタグについてリレーションではなく簡易的にMetadataにJSONの配列で保持してもいいのかもしれないんですがどうなんでしょうか。
クエリには使えるはずなので検索性向上には使える…強いて言えばそのタグ自体の一覧・検索は少し面倒かもしれないのでリレーションの方が後々楽かもしれませんが。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design 設計の話 metadata
Projects
None yet
Development

No branches or pull requests

3 participants