我想弄清楚什麼樣的二進制文件可以支持我的反向索引需求。假設我有一個文件,可以識別唯一的ID,每個文件可以有360個固定值,範圍爲0-65535。是這樣的:反向索引二進制格式
Document0:[1,10,123,...] // 360個值
文檔1:[1,10,345,...] // 360個值
現在,倒排索引是很容易 - 我可以創造的,它包含文件的每個可能值列表,查詢可以快速地執行,例如:
1:Document0文檔1]
10:Document0文檔1 ]
123:Document0]
345:[文檔1]
但我想保存在某種文件(二進制),並具有查詢快速能力,而且要添加新文檔的大量文件沒有重新創建整個結構。
現在我正在努力如何組織該文件。如果我想快速訪問,我需要固定長度的文檔數組來做文件查找和讀取。但固定大小意味着我將有很多文檔列表的空白空間。我唯一的想法是擁有某種分類系統,每個值可以屬於特定大小的桶,例如有大小爲1,2,4,8,16,32,...(或類似的東西)的桶,我需要某種類型的標題,它會指出桶的起始位置和桶的大小。這個想法將優化商店的大小,但我又遇到了添加新文檔的問題。
任何想法如何組織我的'逆指數'文件?
最好。