diff --git a/docs/images/Search index format.drawio b/docs/images/Search index format.drawio
new file mode 100644
index 0000000..95fafaa
--- /dev/null
+++ b/docs/images/Search index format.drawio	
@@ -0,0 +1 @@
+<mxfile modified="2019-08-18T18:52:48.169Z" host="" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/11.1.4 Chrome/76.0.3809.88 Electron/6.0.0 Safari/537.36" etag="4ZIGaBXwCpwLHPnAfuL-" version="11.1.4" type="device"><diagram id="g1DleJgHNPWeLC774LEQ" name="Page-1">7ZlRb5swEMc/DY+dDA4keWxou03q1mmRtmcHDFgBmxlnSfrpdwYTkgDNKpUkUhtFCv7bGPt+d/aZWNjPNp8lyZNvIqSp5aBwY+E7y3FsD2P40cq2UtyxVwmxZKFp1Ahz9kyNiIy6YiEtDhoqIVLF8kMxEJzTQB1oREqxPmwWifTwqTmJaUuYByRtq79ZqJJKnTjjRv9CWZzUT7a9aVWTkbqxmUmRkFCs9yR8b2FfCqGqq2zj01Qbr7ZLdd9DT+1uYJJy9T83FNiRW+VOlw/R8/rP93Tqy/zG9PKXpCszYWvsm/GqbW0EGHquLwtFcwvPcipZRhWVRvrRlGfrhCk6z0mg26/BJ0BLVJZCyYbLiG1oTbksC67q4qSsT1NfpEKWD8YIuYhGoBdKiiU9qLHvZr7pYU+Pyg/oZmJUKrrptZi94wAOTAVMQm6hSX1DjW57VF7veYKRkj0nqDVifC/e9dzggQtD6BW0nBYtMHrGeAhTvBpmHiJTe9zFzLkbewgNzGxympntnhMa/gixflzYvrIQG3WG2PXgCicIjXEXrlsXodHQ0XW0IkKwXzi63I/o6sfluKdxnTW6vBYtnUDBLVcD7LLxdbwcdsbX9JzEJh/r4SvWQ2d06fXQbmf0j6xQoIhIn50AXqH74LqQ0PLypfSRC0VPQ1uQYBlLseLh00qljNfwQiKXT3AXU9pA6BNyTxMFOE4QdBENvYXnem9DDpzjMPGwO8iNO8jZaDB07fR+H121UhbVWVcRxhmPdxCLnAYsYjQ0jN8dTzw6ikR8eZ7tzH+fp4iigqqifCkhO0HWeyMi/N1ydY+4YrfNdfeK5Uxc22eEOYUZEaU5HvE5tdsd27hnr3ohfexJON/A9jej04czu8v2o8FM307354ooFpRGl+WKeCYAzcuMntcfQwDoSgfPC6Cdwf8ikpEFmPtclm8Su55UcADLO+jSlnc6dhMaU94+O8GsYTAzkrKYgxLAlMvEuzS4aaYBaAOxgKS3puFCKCUybXG9E/D4kUZ6UrhRfpp5tvNtLvReMpMCorF0BthF9DlAMK5KS7gz+IJtfPTJtVwYpg9luynDVzeX4AIcuob0Rj+IkkKtaaE63GUAyJOLM+7aWYgMEtC+Vmk6ehAyI6oPeieV/TgxUnccwvNPu0nGwlBXth1sACQd56kJehskUGz+fCnr9v7Cwvf/AA==</diagram></mxfile>
\ No newline at end of file
diff --git a/docs/images/Search index format.svg b/docs/images/Search index format.svg
new file mode 100644
index 0000000..d53086e
--- /dev/null
+++ b/docs/images/Search index format.svg	
@@ -0,0 +1,2 @@
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1652px" height="872px" viewBox="-0.5 -0.5 1652 872" content="&lt;mxfile modified=&quot;2019-08-18T18:55:10.847Z&quot; host=&quot;&quot; agent=&quot;Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/11.1.4 Chrome/76.0.3809.88 Electron/6.0.0 Safari/537.36&quot; etag=&quot;I6uiZiOiXW7O_IylY766&quot; version=&quot;11.1.4&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;g1DleJgHNPWeLC774LEQ&quot; name=&quot;Page-1&quot;&gt;7ZlRb5swEMc/DY+dDA4keWxou03q1mmRtmcHDFgBmxlnSfrpdwYTkgDNKpUkUhtFCv7bGPt+d/aZWNjPNp8lyZNvIqSp5aBwY+E7y3FsD2P40cq2UtyxVwmxZKFp1Ahz9kyNiIy6YiEtDhoqIVLF8kMxEJzTQB1oREqxPmwWifTwqTmJaUuYByRtq79ZqJJKnTjjRv9CWZzUT7a9aVWTkbqxmUmRkFCs9yR8b2FfCqGqq2zj01Qbr7ZLdd9DT+1uYJJy9T83FNiRW+VOlw/R8/rP93Tqy/zG9PKXpCszYWvsm/GqbW0EGHquLwtFcwvPcipZRhWVRvrRlGfrhCk6z0mg26/BJ0BLVJZCyYbLiG1oTbksC67q4qSsT1NfpEKWD8YIuYhGoBdKiiU9qLHvZr7pYU+Pyg/oZmJUKrrptZi94wAOTAVMQm6hSX1DjW57VF7veYKRkj0nqDVifC/e9dzggQtD6BW0nBYtMHrGeAhTvBpmHiJTe9zFzLkbewgNzGxympntnhMa/gixflzYvrIQG3WG2PXgCicIjXEXrlsXodHQ0XW0IkKwXzi63I/o6sfluKdxnTW6vBYtnUDBLVcD7LLxdbwcdsbX9JzEJh/r4SvWQ2d06fXQbmf0j6xQoIhIn50AXqH74LqQ0PLypfSRC0VPQ1uQYBlLseLh00qljNfwQiKXT3AXU9pA6BNyTxMFOE4QdBENvYXnem9DDpzjMPGwO8iNO8jZaDB07fR+H121UhbVWVcRxhmPdxCLnAYsYjQ0jN8dTzw6ikR8eZ7tzH+fp4iigqqifCkhO0HWeyMi/N1ydY+4YrfNdfeK5Uxc22eEOYUZEaU5HvE5tdsd27hnr3ohfexJON/A9jej04czu8v2o8FM307354ooFpRGl+WKeCYAzcuMntcfQwDoSgfPC6Cdwf8ikpEFmPtclm8Su55UcADLO+jSlnc6dhMaU94+O8GsYTAzkrKYgxLAlMvEuzS4aaYBaAOxgKS3puFCKCUybXG9E/D4kUZ6UrhRfpp5tvNtLvReMpMCorF0BthF9DlAMK5KS7gz+IJtfPTJtVwYpg9luynDVzeX4AIcuob0Rj+IkkKtaaE63GUAyJOLM+7aWYgMEtC+Vmk6ehAyI6oPeieV/TgxUnccwvNPu0nGwlBXth1sACQd56kJehskUGz+fCnr9v7Cwvf/AA==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 346 186 L 466 186 L 506 266 L 466 346 L 346 346 L 386 266 Z" fill="#0050ef" stroke="#001dbc" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(421.5,246.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="4" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 6px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">|</div></div></foreignObject><text x="2" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">|</text></switch></g><path d="M 466 186 L 726 186 L 766 266 L 726 346 L 466 346 L 506 266 Z" fill="#60a917" stroke="#2d7600" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(536.5,246.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="79" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 80px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">termindex</div></div></foreignObject><text x="40" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">termindex</text></switch></g><path d="M 726 186 L 846 186 L 886 266 L 846 346 L 726 346 L 766 266 Z" fill="#0050ef" stroke="#001dbc" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(801.5,246.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="4" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 6px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">|</div></div></foreignObject><text x="2" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">|</text></switch></g><path d="M 346 666 L 606 666 L 646 746 L 606 826 L 346 826 L 386 746 Z" fill="#d80073" stroke="#a50040" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(459.5,726.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="36" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 37px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">term</div></div></foreignObject><text x="18" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">term</text></switch></g><path d="M 606 666 L 726 666 L 766 746 L 726 826 L 606 826 L 646 746 Z" fill="#0050ef" stroke="#001dbc" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(681.5,726.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="4" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 6px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">|</div></div></foreignObject><text x="2" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">|</text></switch></g><path d="M 726 666 L 1066 666 L 1106 746 L 1066 826 L 726 826 L 766 746 Z" fill="#d80073" stroke="#a50040" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(861.5,726.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="54" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 55px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">pageid</div></div></foreignObject><text x="27" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">pageid</text></switch></g><path d="M 346 426 L 606 426 L 646 506 L 606 586 L 346 586 L 386 506 Z" fill="#d80073" stroke="#a50040" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(459.5,486.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="36" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 37px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">term</div></div></foreignObject><text x="18" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">term</text></switch></g><path d="M 1106 166 L 1386 166 L 1446 226 L 1446 366 L 1106 366 L 1106 166 Z" fill="#fff2cc" stroke="#d6b656" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 1386 166 L 1386 226 L 1446 226 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="none"/><path d="M 1386 166 L 1386 226 L 1446 226" fill="none" stroke="#d6b656" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(1109.5,224.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="166" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 166px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">List of terms in the index</div></div></foreignObject><text x="83" y="30" fill="#000000" text-anchor="middle" font-size="18px" font-family="Helvetica">List of terms in the index</text></switch></g><path d="M 786 406 L 1066 406 L 1126 466 L 1126 606 L 786 606 L 786 406 Z" fill="#fff2cc" stroke="#d6b656" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 1066 406 L 1066 466 L 1126 466 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="none"/><path d="M 1066 406 L 1066 466 L 1126 466" fill="none" stroke="#d6b656" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(789.5,443.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="166" height="62" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 166px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">List of pageids containing the specified term</div></div></foreignObject><text x="83" y="40" fill="#000000" text-anchor="middle" font-size="18px" font-family="Helvetica">List of pageids containing the specified term</text></switch></g><path d="M 1186 646 L 1566 646 L 1626 706 L 1626 846 L 1186 846 L 1186 646 Z" fill="#fff2cc" stroke="#d6b656" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><path d="M 1566 646 L 1566 706 L 1626 706 Z" fill-opacity="0.05" fill="#000000" stroke="none" pointer-events="none"/><path d="M 1566 646 L 1566 706 L 1626 706" fill="none" stroke="#d6b656" stroke-width="2" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(1189.5,704.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="216" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 216px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">List of offsets for the specified pageid and term</div></div></foreignObject><text x="108" y="30" fill="#000000" text-anchor="middle" font-size="18px" font-family="Helvetica">List of offsets for the specified pageid and term</text></switch></g><rect x="26" y="186" width="240" height="80" fill="#0050ef" stroke="#001dbc" stroke-width="2" pointer-events="none"/><g transform="translate(66.5,206.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="79" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 80px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">Separator</div></div></foreignObject><text x="40" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">Separator</text></switch></g><rect x="26" y="266" width="240" height="80" fill="#60a917" stroke="#2d7600" stroke-width="2" pointer-events="none"/><g transform="translate(51.5,286.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="94" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 95px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">Static string</div></div></foreignObject><text x="47" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">Static string</text></switch></g><rect x="26" y="346" width="240" height="80" fill="#d80073" stroke="#a50040" stroke-width="2" pointer-events="none"/><g transform="translate(81.5,366.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="64" height="19" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 18px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; vertical-align: top; width: 66px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;white-space:normal;">Variable</div></div></foreignObject><text x="32" y="19" fill="#ffffff" text-anchor="middle" font-size="18px" font-family="Helvetica">Variable</text></switch></g><g fill="#000000" font-family="Helvetica" font-weight="bold" text-anchor="middle" font-size="36px"><text x="145.5" y="173.5">Legend</text></g><g transform="translate(588.5,38.5)scale(2)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="237" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 24px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; white-space: nowrap; font-weight: bold; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Search Index Format</div></div></foreignObject><text x="119" y="26" fill="#000000" text-anchor="middle" font-size="24px" font-family="Helvetica" font-weight="bold">Search Index Format</text></switch></g></g></svg>
\ No newline at end of file
