Difference between revisions of "Zeno file format"

Jump to navigation Jump to search
6 bytes removed ,  10:23, 22 February 2009
no edit summary
Line 3: Line 3:


== Aufbau einer .zeno-Datei ==
== Aufbau einer .zeno-Datei ==
=== Header ===
== Header ==
Nach dem Öffnen der Datei muss der Header eingelesen werden, er steht am Anfang der Datei.  
Nach dem Öffnen der Datei muss der Header eingelesen werden, er steht am Anfang der Datei.  


Line 81: Line 81:
Der erste Eintrag einer jeden Gewichtung befindet sich somit in RZenoArticle und ist schnell zu lesen. Gibt es nur diesen einen Eintrag, ist len=0, ansonsten gibt es weitere Einträge in der Indexdatei.  
Der erste Eintrag einer jeden Gewichtung befindet sich somit in RZenoArticle und ist schnell zu lesen. Gibt es nur diesen einen Eintrag, ist len=0, ansonsten gibt es weitere Einträge in der Indexdatei.  


=== NamespaceCounts-Tabelle ===
== NamespaceCounts-Tabelle ==
Gültige Namespace-Characters (TLibNamespaceChar) gehen von '-' bis 'Z', also 46 verschiedene Namespaces. Da die Artikel aufsteigend nach Namespace angelegt sind, kann man mit dem Startindex und der Anzahl der Artikel für diesen Namespace gut auf einen bestimmten Namespace zugreifen, z.B. wenn die Wildcardsuche über den ganzen Namespace 'X' (und nur über den) laufen soll.  
Gültige Namespace-Characters (TLibNamespaceChar) gehen von '-' bis 'Z', also 46 verschiedene Namespaces. Da die Artikel aufsteigend nach Namespace angelegt sind, kann man mit dem Startindex und der Anzahl der Artikel für diesen Namespace gut auf einen bestimmten Namespace zugreifen, z.B. wenn die Wildcardsuche über den ganzen Namespace 'X' (und nur über den) laufen soll.  
  RNamespaceStartCount = record
  RNamespaceStartCount = record
Line 90: Line 90:
  RNamespaceStartCountArray = array [TLibNamespaceChar] of RNamespaceStartCount;
  RNamespaceStartCountArray = array [TLibNamespaceChar] of RNamespaceStartCount;


=== Integer-Komprimierung ===
== Integer-Komprimierung ==
Bei komprimierten Indexdateien sind sowohl die Zusatzdaten (s.o.) als auch die Daten in der Indexdatei wie folgt komprimiert:  
Bei komprimierten Indexdateien sind sowohl die Zusatzdaten (s.o.) als auch die Daten in der Indexdatei wie folgt komprimiert:  
Die ersten beiden Bits des ersten Bytes sind reserviert und codieren ob es sich insgesamt um 1, 2, 3 oder 4 Byte handelt, die einen (Pseudo-)-Integer zwischen 0 und $4040403F codieren.  
Die ersten beiden Bits des ersten Bytes sind reserviert und codieren ob es sich insgesamt um 1, 2, 3 oder 4 Byte handelt, die einen (Pseudo-)-Integer zwischen 0 und $4040403F codieren.  

Navigation menu