Update finding documentation

This commit is contained in:
Eike Kettner 2020-06-24 22:54:37 +02:00
parent 532caed84c
commit 793f33b640
7 changed files with 107 additions and 25 deletions

View File

@ -6,6 +6,17 @@ permalink: demo
# {{ page.title }} # {{ page.title }}
## Finding Items
<video width="100%" controls>
<source src="../static/docspell-search-2020-06-24.webm" type="video/webm">
Your browser does not support the video tag.
</video>
<img width="100%" src="img/docspell-demo.gif" title="Demo"> ## Basic Idea (First Version)
<video width="100%" controls>
<source src="../static/docspell-demo.webm" type="video/webm">
Your browser does not support the video tag.
</video>

View File

@ -6,9 +6,9 @@ permalink: doc/finding
# {{ page.title }} # {{ page.title }}
Items can be searched by their annotated meta data. The landing page Items can be searched by their annotated meta data and their contents
shows a list of current items. Items are displayed sorted by their using full text search. The landing page shows a list of current
date, newest first. items. Items are displayed sorted by their date, newest first.
Docspell has two modes for searching: a simple search bar and a search Docspell has two modes for searching: a simple search bar and a search
menu with many options. Both are active at the same time, but only one menu with many options. Both are active at the same time, but only one
@ -19,32 +19,51 @@ is visible. You can switch between them without affecting the results.
<img style="float:right;" src="../img/search-bar.png" height="50"> <img style="float:right;" src="../img/search-bar.png" height="50">
By default, the search bar is shown. It searches in the name By default, the search bar is shown. It provides a refined view of the
properties of the following meta data: search menu. The dropdown contains different options to do a quick
search.
- the item name ### *All Names* and *Contents*
- the notes
- correspondent organization and person
- concerning person and equipment
A wildcard `*` can be used at the start or end of a search term to do These two options correspond to the same named field in the search
a substring match. A `*` means "everything". So a term `*company` menu. If you switch between search menu and search bar (by clicking
matches all names ending in `company` and `*company*` matches all the icon on the left), you'll see that they are the same fields.
names containing the word `company`. The matching is case insensitive. Typing in the search bar also fills the corresponding field in the
search menu (and vice versa).
Docspell adds a `*` to the front and end of a term automatically, - The *All Names* searches in the item name, item notes, names of
unless one of the following is true: correspondent organization and person, and names of concering person
and equipment. It uses a simple substring search.
- The option *Contents* searches the contents of all attachments
(documents), attachment names, the item name and item notes. It uses
full text search. However, it does not search the names of attached
meta data.
- The term already has a wildcard. When searching with one of these fields active, it simply submits the
- The term is enclosed in quotes `"`. (hidden) search menu. So if the menu has other fields filled out, they
will affect the result, too. Using one of these fields, the bar is
just a reduced view of the search menu.
You can go to the search menu by clicking the left icon in the search So you can choose tags or correspondents in the search menu and
bar. further restrict the results using full text search. The results will
be returned sorted by the item date, newest first.
If the search bar shows a little blue bubble, it means that there are If the left button in the search bar shows a little blue bubble, it
more search fields filled out in the search menu. In this case the means that there are more search fields filled out in the search menu
results are not only restricted by the search term given in the that you currently can't see. In this case the results are not only
search-bar, but also by what is specified in the search menu. restricted by the search term given in the search-bar, but also by
what is specified in the search menu.
### *Contents Only*
This option has no corresponding part in the search menu. Searching
with this option active, there is only a full text search done in the
attachments contents, attachment names, item name and item notes.
The results are not ordered by item date, but by relevance with
respect to the search term. This ordering is returned from the full
text search engine and is simply transfered unmodified.
## Search Menu ## Search Menu
@ -104,9 +123,61 @@ within this range. Items without a due date are not shown.
Specify whether to show only incoming, only outgoing or all items. Specify whether to show only incoming, only outgoing or all items.
## Customize Substring Search
The substring search of the *All Names* and *Name* field can be
customized in the following way: A wildcard `*` can be used at the
start or end of a search term to do a substring match. A `*` means
"everything". So a term `*company` matches all names ending in
`company` and `*company*` matches all names containing the word
`company`. The matching is case insensitive.
Docspell adds a `*` to the front and end of a term automatically,
unless one of the following is true:
- The term already has a wildcard.
- The term is enclosed in quotes `"`.
## Full Text Search
### The Query
The query string for full text search is very powerful. Docspell
currently supports [Apache SOLR](https://lucene.apache.org/solr/) as
full text search backend, so you may want to have a look at their
[documentation on query
syntax](https://lucene.apache.org/solr/guide/8_4/query-syntax-and-parsing.html#query-syntax-and-parsing)
for a in depth guide.
- Wildcards: `?` matches any single character, `*` matches zero or
more characters
- Fuzzy search: Appending a `~` to a term, results in a fuzzy search
(search this term and similiar spelled ones)
- Proximity Search: Search for terms that "near" each other, again
using `~` appended to a search phrase. Example: `"cheese cake"~5`.
- Boosting: apply more weight to a term with `^`. Example: `cheese^4
cake` cheese is 4x more important.
Docspell will preprocess the search query to prepare a query for SOLR.
It will by default search all indexed fields, which are: attachment
contents, attachment names, item name and item notes.
### The Results
When using full text search, each item in the result list is annotated
with the highlighted occurrence of the match.
<div class="thumbnail">
<img src="../img/search-content-results.png">
</div>
## Screencast ## Screencast
<video width="100%" controls> <video width="100%" controls>
<source src="../static/docspell-search-2020-06-13.webm" type="video/webm"> <source src="../static/docspell-search-2020-06-24.webm" type="video/webm">
Your browser does not support the video tag. Your browser does not support the video tag.
</video> </video>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 42 KiB