{"id":10847,"date":"2015-03-20T13:19:03","date_gmt":"2015-03-20T17:19:03","guid":{"rendered":"http:\/\/mjtsai.com\/blog\/?p=10847"},"modified":"2015-03-20T13:29:12","modified_gmt":"2015-03-20T17:29:12","slug":"kvdb-and-sfts","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2015\/03\/20\/kvdb-and-sfts\/","title":{"rendered":"kvdb and sfts"},"content":{"rendered":"<p><a href=\"https:\/\/github.com\/dinhviethoa\/kvdb\">kvdb<\/a> is an &ldquo;embeddable Key-Value Database and Full Text Search&rdquo; (via <a href=\"https:\/\/medium.com\/@dinhvh\/state-of-the-embedded-key-value-storage-b934337bc7e1\">Ho&agrave; V. DINH<\/a>). kvdbo is built on top of kvdb and uses a special key to keep track of the order in which key-value pairs were inserted. The sfts text searcher (built on kvdbo) uses 64-bit integer document IDs and supports prefix, substring, and suffix searches for individual tokens (not phrases). There does not seem to be any documentation about thread safety (looks like build-your-own) or transactions (doesn&rsquo;t seem to use journal files).<\/p>","protected":false},"excerpt":{"rendered":"<p>kvdb is an &ldquo;embeddable Key-Value Database and Full Text Search&rdquo; (via Ho&agrave; V. DINH). kvdbo is built on top of kvdb and uses a special key to keep track of the order in which key-value pairs were inserted. The sfts text searcher (built on kvdbo) uses 64-bit integer document IDs and supports prefix, substring, and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"","apple_news_api_id":"","apple_news_api_modified_at":"","apple_news_api_revision":"","apple_news_api_share_url":"","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[143,978,31,1152,1151,30,74,71,1153],"class_list":["post-10847","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-database","tag-full-text-search","tag-ios","tag-kvdb","tag-kvdbo","tag-mac","tag-opensource","tag-programming","tag-sfts"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/10847","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=10847"}],"version-history":[{"count":3,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/10847\/revisions"}],"predecessor-version":[{"id":10851,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/10847\/revisions\/10851"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=10847"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=10847"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=10847"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}