Tất cả đều phụ thuộc vào khối lượng và nội dung dữ liệu để gắn thẻ tỷ lệ phân phối và mật độ
Nếu bạn có một phân phối thẻ thấp và tỷ lệ mật độ (điển hình của con người tạo ra dữ liệu), bạn chỉ có thể tạo ra một id duy nhất hoặc băm cho mỗi bộ sưu tập có thể có các thẻ được sử dụng bởi các dữ liệu. Kết hợp 'bộ sưu tập thẻ' id với mỗi trường hợp dữ liệu với những thẻ
này có thể làm việc cũng đáng ngạc nhiên đối với nhiều hình thức con người dữ liệu được tạo
ví dụ Stackoverflow có ~ 500,000 câu hỏi và ~ 20.000 thẻ (quá nhiều thẻ dupe-ish!). Hầu hết các câu hỏi có ít hơn năm thẻ. Trong trường hợp xấu nhất, bạn sẽ có 500.000 thẻ 'thu thập thẻ' để liên kết, nhưng thực tế hơn bạn sẽ có vài nghìn
Bạn cũng sẽ phải có theo dõi cá thể hoặc thu gom rác trên bộ sưu tập 'thu thập thẻ' dưới dạng kết hợp cụ thể thẻ bị hết sử dụng
ví dụ:
- Tag: id, tagname
- TagCollection: id, instanceCount
- TagCollectionTag: tagCollectionIId, tagId
- dữ liệu: id, title, nội dung, tagCollectionId
thẻ Chèn nhanh nếu băm được sử dụng (băm trên tất cả các thẻ của bộ sưu tập). Nếu không, bạn phải tìm kiếm các bộ sưu tập TagCollection và TagCollectionTag, nhưng điều này không được quá lớn anyway
Tìm kiếm nhanh; tìm kiếm TagCollectionTag cho các trường hợp có chứa các thiết lập cụ thể của thẻ, và sau đó tìm dòng dữ liệu với bất kỳ của những nhân tagCollectionId
Hope đó không phải là quá khó hiểu :-)
Thật câu hỏi hay! –