diff --git a/modules/joex/src/main/resources/reference.conf b/modules/joex/src/main/resources/reference.conf index 50538aab..eaa28e7d 100644 --- a/modules/joex/src/main/resources/reference.conf +++ b/modules/joex/src/main/resources/reference.conf @@ -699,13 +699,13 @@ Docpell Update Check } } - # Configuration of the full-text search engine. + # Configuration of the full-text search engine. (the same must be used for restserver) full-text-search { # The full-text search feature can be disabled. It requires an # additional index server which needs additional memory and disk # space. It can be enabled later any time. # - # Currently the SOLR search platform is supported. + # Currently the SOLR search platform and PostgreSQL is supported. enabled = false # Which backend to use, either solr or postgresql diff --git a/modules/restserver/src/main/resources/reference.conf b/modules/restserver/src/main/resources/reference.conf index f6d2fa34..e3d3d063 100644 --- a/modules/restserver/src/main/resources/reference.conf +++ b/modules/restserver/src/main/resources/reference.conf @@ -289,13 +289,13 @@ docspell.server { secret = "" } - # Configuration of the full-text search engine. + # Configuration of the full-text search engine. (the same must be used for joex) full-text-search { # The full-text search feature can be disabled. It requires an # additional index server which needs additional memory and disk # space. It can be enabled later any time. # - # Currently the SOLR search platform is supported. + # Currently the SOLR search platform and PostgreSQL is supported. enabled = false # Which backend to use, either solr or postgresql diff --git a/website/push-docs.sh b/website/push-docs.sh new file mode 100755 index 00000000..9bc5a543 --- /dev/null +++ b/website/push-docs.sh @@ -0,0 +1,51 @@ +#!/usr/bin/env bash + +# Creates the documentation website and pushes it to the branch +# 'current-docs' in order to be published. +# +# It is a fallback, when `sbt publish-website` is not working due to +# too large payloads (as it seems) that prohibit uploading through +# githubs http api. Therefore this script uses git (over ssh). + +set -o errexit -o pipefail -o noclobber -o nounset + +cdir=$(pwd) +# make sure we are in source root +if [ "$cdir" != $(git rev-parse --show-toplevel) ]; then + echo "Please go into the source root." + exit 1 +fi + +# make sure we are on branch 'current-docs' +branch=$(git branch --show-current) +if [ "$branch" != "current-docs" ]; then + echo "Current branch is not 'current-docs', but $branch." + exit 1 +fi + +# check for dirty branch +if [[ -n $(git status -s) ]]; then + echo "Working dir is dirty. Abort." + exit 1 +fi + +temp=$(mktemp -d) +trap "{ rm -rf '$temp'; }" EXIT + +echo "Cloning docspell into new location $temp" +git clone git@github.com:eikek/docspell.git "$temp" +cd "$temp" && git checkout --track origin/gh-pages + +echo "Create new website from current working directory" +cd $cdir && nix-shell website/shell.nix --run 'sbt make-website' + +echo "Copying new site to target" +cp -R "$cdir"/website/target/zola-site/* "$temp/" + +echo "Showing the diff." +cd "$temp" && git diff || true + +echo "Pushing changes?" +echo "Use C-c to quit. When continuing, changes are pushed!" +read +cd "$temp" && git add . && git commit -am 'Updated gh-pages' && git push origin gh-pages diff --git a/website/site/content/docs/configure/fulltext-search.md b/website/site/content/docs/configure/fulltext-search.md index f67dfc74..d9d112b9 100644 --- a/website/site/content/docs/configure/fulltext-search.md +++ b/website/site/content/docs/configure/fulltext-search.md @@ -29,6 +29,9 @@ full-text-search { All docspell components must provide the same fulltext search configuration. +The features provided for full text search depends on the backend. +Docspell only hands the query to the backend and thus content queries +may not work across different fulltext search backends. ## SOLR @@ -46,8 +49,8 @@ subsection: } ``` -The default configuration at the end of this page contains more -information about each setting. +The [default configuration](@/docs/configure/main.md#default-config) +contains more information about each setting. The `solr.url` is the mandatory setting that you need to change to point to your SOLR instance. Then you need to set the `enabled` flag @@ -60,7 +63,7 @@ That will provide you with the connection url (the last part is the core name). If Docspell detects an empty core it will run a schema setup on start automatically. -The `full-text-search.solr` options are the same for joex and the +The `full-text-search.solr` options must be the same for joex and the restserver. Sometimes it is necessary to re-create the entire index, for example diff --git a/website/site/content/docs/install/download_run.md b/website/site/content/docs/install/download_run.md index bd2be11e..95fddefb 100644 --- a/website/site/content/docs/install/download_run.md +++ b/website/site/content/docs/install/download_run.md @@ -1,5 +1,5 @@ +++ -title = "Download & Run" +title = "Manual Installation" weight = 22 +++ diff --git a/website/site/content/docs/install/prereq.md b/website/site/content/docs/install/prereq.md index d7a70fc7..4e711ce8 100644 --- a/website/site/content/docs/install/prereq.md +++ b/website/site/content/docs/install/prereq.md @@ -69,9 +69,9 @@ sudo apt-get install ghostscript tesseract-ocr tesseract-ocr-deu tesseract-ocr-e # Apache SOLR -SOLR is used to provide the fulltext search feature. This feature can -be disabled, so installing SOLR is optional. But without it, there is -no fulltext search. +SOLR is a very powerful fulltext search engine and can be used to +provide the fulltext search feature. This feature is disabled by +default, so installing SOLR is optional. When installing manually (i.e. not via docker), just install solr and create a core as described in the [solr @@ -83,11 +83,21 @@ When using the provided `docker-compose.yml` setup, SOLR is already setup. SOLR must be reachable from all joex and all rest server components. +{% infobubble(title="Multiple fulltext search backends") %} + +Docspell can also use +[PostgreSQL](@/docs/configure/fulltext-search.md#postgresql) as its +fulltext search backend. This is not as powerful, but doesn't require +to install SOLR. + +{% end %} + + # Database Both components must have access to a SQL database. The SQL database -contains all data (including binary files) and is the central -component of docspell. Docspell has support these databases: +contains all data (including binary files by default) and is the +central component of docspell. Docspell has support these databases: - PostreSQL - MariaDB