Skip to content
This repository has been archived by the owner on Dec 13, 2021. It is now read-only.

Index用labelの命名規則を変えたい #110

Open
tsuzu opened this issue Nov 15, 2021 · 11 comments
Open

Index用labelの命名規則を変えたい #110

tsuzu opened this issue Nov 15, 2021 · 11 comments

Comments

@tsuzu
Copy link
Collaborator

tsuzu commented Nov 15, 2021

現状フィールド先頭から順番についているがこれはフィールドを追加したりすると壊れる可能性がある
フィールドの追加、削除などがあっても壊れないような命名規則に変更したい

    • firestoreのkeyそのまま
    • ハッシュをとる
@54m
Copy link
Member

54m commented Nov 15, 2021

できるだけサイズが小さくなるようにしたいから今のようになってるんですよね(インデックス爆発を防ぐ為)

@tsuzu
Copy link
Collaborator Author

tsuzu commented Nov 15, 2021

keyが長くなるだけでデータ量が大きくなるってことですかね?
そうなると仕方ないんですかねえ・・・なんかEmbeddingされたstructに追加したら思わぬところでLabelがずれて壊れるみたいなのがありそうでちょっと怖い

@54m
Copy link
Member

54m commented Nov 15, 2021

たしか1ドキュメント1MB制限あるので、Biunigram対応すると少しでも文字数節約したい思いがあり!

ただ、保守性クソなのでこの対応したいなって感じなら実装側に飲んでもらうか〜という気持ち

@tsuzu
Copy link
Collaborator Author

tsuzu commented Nov 15, 2021

なるほど・・・
多分保守性を保ちつつ運用上の問題を避けるならタグでLabelのprefixを指定する形になるのかな、と思いますね(keyとindexのlabelをバラバラに管理できるのでフィールド名変更で壊れるみたいなことも起こらない)
ただindex使うタイミングで常に指定するのが面倒というのはあるかもしれないです

@54m
Copy link
Member

54m commented Nov 15, 2021

前もその対応にしようか迷ってて何かがあって自動生成にした気がする
それにした場合、indexer:"like:a1,prefix:a2,equal:a3"とかで指定すればいいし楽そうですね

@tsuzu
Copy link
Collaborator Author

tsuzu commented Nov 15, 2021

あるいは1~3みたいなものは自動でつけてaだけ取るようにするか、ですかね

@54m
Copy link
Member

54m commented Nov 15, 2021

あるいは1~3みたいなものは自動でつけてaだけ取るようにするか、ですかね

それだと「インデックス爆発したし、やっぱlikeいらないな!消しちゃお」って時に死ぬのでタグ管理するなら完全指定が良いかと!

@tsuzu
Copy link
Collaborator Author

tsuzu commented Nov 15, 2021

1~3の数字はそのままであれば問題はないのでは?

@54m
Copy link
Member

54m commented Nov 15, 2021

そのままというのは?
likeなら1、equalなら2っていうルールがあれば大丈夫ですね!
ただ記述順で採番されるとかでなければ良さそうですね

@tsuzu
Copy link
Collaborator Author

tsuzu commented Nov 15, 2021

likeなら1、equalなら2っていうルールがあれば大丈夫ですね!

その意味でした!

@54m
Copy link
Member

54m commented Nov 15, 2021

なるほど!
良さそう

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants