Skip to main content
All CollectionsWorkspaces
Introducing Document Stores
Introducing Document Stores

Learn the concepts behind Document Stores and how to work with them

Updated over 4 months ago

Kodexa offers Document Stores in aiming to help users in managing files within a Acting as a central repository, they store all files uploaded within a project, thereby streamlining access and enhancing organization. This can be accessed under Workspace > Documents tab.

This centralized storage system provides efficiency since all project-related files are stored in one place. It eliminates the need for time-consuming searches across various locations. This helps the organization to group related files and also those that might be needed to be compared later on.

Document Stores also promote collaboration among team members. With all files readily accessible, sharing information becomes seamless. Team members can easily retrieve, review, and edit documents, fostering a collaborative work environment.

In essence, the document store serves as the heart of a project workspace. It ensures that every document, regardless of its nature or purpose, is safely stored and easily accessible. By centralizing document management, it enhances efficiency, promotes collaboration, and ultimately, contributes to successful project execution.

Document Store also offers various actions:

  1. Refresh - can be used by the user to ensure that the screen is showing the latest data. May it be on the data processing or status of file upload.

  2. Upload - can be used by the user to upload files individually. Once uploaded, the platform will automatically process depending on the assistants and pipelines configured.

  3. Select / Unselect - provides an option to the user if multiple or all files are to be selected. Files selected can be processed under actions filed under "Bulk Actions".

  4. Bulk Actions - used to do single action to multiple files simultaneously. Therefore, eliminating the need for the user to do a single action to all files one-by-one. There are multiple actions under bulk actions.

    1. Reprocess - reprocess the files selected. This will trigger the assistants configured for the project.

    2. Unlock - will unlock the files that are locked. Once unlocked, the user can do actions related to the file(s).

    3. Lock - locks the file and prevents user from further processing. This also serves as a marker that the file uploaded is the final version.

    4. Delete - deletes the file from the project. This will also remove all data related to the file.

Filtering

You can filter the documents in the panel, there are two ways to do this:

Quick Filters

When you see the filter, if there is a magnifying glass at the end then you are in Quick Filter mode.

In this mode you simply type parts of the filename or labels you want to filter the list by.

Structured Filters

If you want to use structured filters then you click on the magnifying glass, it will change to a filter icon.

In this mode you can use a filter syntax to query the documents.

The filter system allows for more fine-grained filtering of the results based on the attributes of the DocumentFamily class. You can use the filter parameter to filter the results by a specific field.

For example, to list all the document families that have the name "test" in their path, you can use the following filter:

path~~'%test%'"

Examples

Here are some key points about using the filter system:

Type

Purpose

Sample

Fields

- Directly given without any extra literals.

- Dots indicate nested fields. Example is `status.name`

Get document families with a specific label:

labels.label : 'Important'

Inputs

- Numbers and booleans should be directly given.

- Strings, enums, and dates should be quoted. Example is `created > '2023-01-01T00:00:00.000Z'`

Get document families created after a specific date:

created > '2023-01-01T00:00:00.000Z'

Operators

- `and` combines two expressions with logical AND.

- `or` combines two expressions with logical OR.

- `not` negates an expression.

- Parentheses can be used to prioritize operators.

Find documents that don't have 10k in the name:

not(path~'%10k%')

Comparators

- `~` checks if the left (string) expression is similar to the right (string) expression (case-sensitive)

- `~~` checks if the left (string) expression is similar to the right (string) expression (case-insensitive)

- `:` checks for equality.

- `!` checks for inequality.

- `>`, `>=`, `<`, `<=` compare values.

- `is null` and `is not null` check for null values.

- `is empty` and `is not empty` check for empty collections.

- `in` checks if an expression is present in the right expressions.

Get document families that are created after a date and have a size greater than 1000 bytes:

created > '2023-01-01T00:00:00.000Z' and size > 1000"

Functions

- Various functions are available for manipulating and comparing values, such as `absolute`, `average`, `min`, `max`, `sum`, `currentDate`, `size`, `length`, `trim`, `upper`, `lower`, etc.

Subqueries

- `exists` returns true if a subquery has at least one result.

By leveraging the filter system, you can perform powerful queries to retrieve specific document families based on their attributes and relationships.

Did this answer your question?