diff --git a/manual/README.md b/manual/README.md index 4d3da97..cfe100a 100644 --- a/manual/README.md +++ b/manual/README.md @@ -2,20 +2,10 @@ **SeaSearch** is a lightweight search engine will replace ElasticSearch as the default search engine, built on open source search engine ([ZincSearch](https://zincsearch-docs.zinc.dev/)) implemented in Go language. -Why use **SeaSearch**: +## SeaSearch vs. ElasticSearch: -- **Problems of ElasticSearch**: - - Not designed for large number of indexes (like one index per library) - - Need to search entire storage when searching inside a library - - Need to filter out results that the user has permissions to acces - - Can become slow when you have ~billion of files to search - - Heavyweight Java program - - Upgrade often requires rebuilding index - -- **How about SeaSearch**: - - Lightweight and can support one index per library - - API compatible with ElasticSearch - - Architecture Highlights - - Cloud-native: can use S3 as storage (for single-node or cluster) - - Shared storage: in a cluster, nodes use S3 as shared storage and store index metadata in etcd - - Failover: node switching is easy thanks to shared storage architecture. ES replicates data between the nodes so consistency is more complex. \ No newline at end of file +- **Lightweight**: SeaSearch implemented in Go language, which is more lightweight than ElasticSearch the heavyweight Java program +- **Single Index per Library**: SeaSearch can search entire storage inside a libary and filter out the results with access permissions of the user, as ElasticSearch does not support +- **Good Compatibility**: API compatible with ElasticSearch +- **Support S3 Storage**: SeaSearch can use S3 as storage +- **Easier Shared Storage in a cluster**: ElasticSearch replicates data between the nodes so consistency is more complex diff --git a/manual/api/seasearch_api.md b/manual/api/seasearch_api.md index 1adccb1..5750b17 100644 --- a/manual/api/seasearch_api.md +++ b/manual/api/seasearch_api.md @@ -4,7 +4,12 @@ SeaSearch uses Http Basic Auth for permission verification, and the API request needs to carry the corresponding token in the header. -Generate basic auth through this tool: [http://web.chacuo.net/safebasicauth](http://web.chacuo.net/safebasicauth) +``` +# headers +{ + 'Authorization': 'Basic ' +} +``` ## User management diff --git a/manual/config/README.md b/manual/config/README.md index 756643f..ca0865c 100644 --- a/manual/config/README.md +++ b/manual/config/README.md @@ -33,44 +33,6 @@ ZINC_S3_PATH_STYLE_REQUEST= ZINC_S3_AWS_REGION= ``` -## Cluster Configurations - -### Basic Configurations - -```shell -# default none for standalone deployment, optional to cluster, must be cluster for cluster deployment -ZINC_SERVER_MODE= - -# cluster id,need to be globally unique -ZINC_CLUSTER_ID= - -ZINC_ETCD_ENDPOINTS= -ZINC_ETCD_USERNAME= -ZINC_ETCD_PASSWORD= -``` - -### Proxy Configurations -If the current node is a proxy node, the term `ZINC_SERVER_MODE` has to be set as **proxy** and the `ZINC_ETCD_ENDPOINTS` has to be pointed (i.e., =127.0.0.1:2379). - -```shell -ZINC_CLUSTER_PROXY_LOG_DIR=/opt/seasearch/data/log -ZINC_CLUSTER_PROXY_HOST=0.0.0.0 -ZINC_CLUSTER_PROXY_PORT=4082 -ZINC_ETCD_PREFIX= -ZINC_MAX_DOCUMENT_SIZE=1m # Bulk and multisearch limit on the maximum single document,default 1m -ZINC_CLUSTER_MANAGER_ADDR=127.0.0.1:4081 # manager address -``` - -### Cluster-manger Configurations - -```shell -ZINC_CLUSTER_MANAGER_LOG_DIR=/opt/seasearch/data/log -ZINC_CLUSTER_MANAGER_HOST=0.0.0.0 -ZINC_CLUSTER_MANAGER_PORT=4081 -ZINC_CLUSTER_MANAGER_ETCD_ENDPOINTS= -ZINC_CLUSTER_MANAGER_ETCD_PREFIX= -``` - ## Logs Configurations ```shell diff --git a/manual/deploy/README.md b/manual/deploy/README.md index d0005cc..9e4eaeb 100644 --- a/manual/deploy/README.md +++ b/manual/deploy/README.md @@ -1,7 +1,5 @@ # Deploy -Note: SeaSearch only supports deployment via docker now. - ## Download the seasearch.yml ```bash diff --git a/mkdocs.yml b/mkdocs.yml index 74c3934..3c02939 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -45,6 +45,7 @@ markdown_extensions: # Page tree nav: + - Introduction: README.md - Deploy: deploy/README.md - Configuration: config/README.md - SeaSearch API: api/seasearch_api.md