Enabled Porter tokenizer; other minor changes.
h3rald h3rald@h3rald.com
Sat, 18 Apr 2015 13:41:31 +0200
6 files changed,
31 insertions(+),
18 deletions(-)
M
admin/index.html
→
admin/index.html
@@ -4,7 +4,7 @@ <head>
<meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>LiteStore</title> + <title>LiteStore Admin</title> <link rel="stylesheet" href="styles/litestore.css"> <link rel="icon" type="image/x-icon" href="favicon.ico" /> </head>
M
admin/md/overview.md
→
admin/md/overview.md
@@ -1,8 +1,8 @@
## Overview -LiteStore is a lightweight, self-contained, RESTful, multi-format document store server written in [Nim](http://www.nim-lang.org). It aims to be a very simple and lightweight backend ideal for prototyping and testing REST APIs and single-page applications. +LiteStore is a lightweight, self-contained, RESTful, multi-format NoSQL document store server written in [Nim](http://www.nim-lang.org) and powered by a [SQLite](http://www.sqlite.org) backend for storage. It aims to be a very simple and lightweight backend ideal for prototyping and testing REST APIs and single-page applications. -### Rationale +### Rationale If you ever wanted to build a simple single-page application in your favorite framework, just to try something out or as a prototype, you inevitably had to answer the question _"What backend should I use?"_@@ -11,7 +11,7 @@
LiteStore aims to solve this problem. When you use LiteStore as the backend for your app, you only need to take _two files_ with you, at all times: * The [litestore](class:cmd) executable file for your platform of choice (that's about 2MB in size) -* A datastore file +* A data store file And yes, you can even store the code of your client-side application inside the datastore itself, along with your application data.@@ -19,16 +19,26 @@ ### Key Features
Despite being fairly small and self-contained, LiteStore comes with many useful features that are essential for many use cases. -#### Multiformat documents +#### [](class:fa-file-text-o) Multi-format Documents -LiteStore can be used to store documents in virtually any format +LiteStore can be used to store documents in virtually any format, as long as you specify an appropriate content type for them. Textual documents are stored as-is, while binary documents are base64-encoded (not the best thing in the world, but definitely the easiest and most portal option). -#### Document Tagging +#### [](class:fa-tags) Document Tagging -#### Full-text Search +You can add custom tags to documents to easily categorize them and retrieve them. Some system tags are also added automatically to identify the document content type, format and collection. -#### RESTful HTTP API +#### [](class:fa-search) Full-text Search -#### Directory Bulk Import/Export +By leveraging [SQLite FTS4 extension](http://www.sqlite.org/fts3.html) and implementing an enhanced algorithm for result rankings, LiteStore provides full-text search for all textual documents out-of-the-box. + +#### [](class:fa-gears) RESTful HTTP API + +Every operation can be performed on the data store using a simple but powerful RESTful HTTP API, perfect for client-side, single-page applications. + +#### [](class:fa-exchange) Directory Bulk Import/Export + +To make serving a single-page application _from LiteStore_ even easier and faster, you can automatically import (and export) the contents of a directory recursively. + +#### [](class:fa-cloud-upload) Directory Mounting and Mirroring -#### Directory Mounting and Mirroring+After importing the contents of a directory into a LiteStore data store, you can _mount it_ on LiteStore and mirror all data store changes to the filesystem. Incidentally, that's how most of the LiteStore Admin test app was built [](class:fa-smile-o).
M
admin/md/use-cases.md
→
admin/md/use-cases.md
@@ -1,9 +1,11 @@
### Use Cases -#### SPA prototyping backend +#### Lightweight Document Store -#### Personal Wiki/CMS backend +#### SPA Prototyping Backend -#### Static site backend +#### Personal Wiki/CMS Backend + +#### Static Site Backend -#### Lightweight file server+#### Lightweight File Server
M
lib/queries.nim
→
lib/queries.nim
@@ -17,7 +17,8 @@
const SQL_CREATE_SEARCHCONTENTS_TABLE* = sql""" CREATE VIRTUAL TABLE searchcontents USING fts4( document_id TEXT, -content TEXT) +content TEXT, +tokenize=porter) """ const SQL_CREATE_TAGS_TABLE* = sql"""