Files
find/docs/setup-for-drive.md
T
Fabre Florian fdabd556ef (backend) add development service for drive
The create_demo command will now create a 'drive' service for development
purpose.
Add setup documentation.

Signed-off-by: Fabre Florian <ffabre@hybird.org>
2025-11-12 11:04:50 +01:00

1.8 KiB

Setup the Find search for Drive

This configuration will enable the fulltext search feature for Docs :

  • Each save on core.Item or core.Item will trigger the indexer
  • Once indexer service configured, the api/v1.0/item/search/ will work as a proxy with the Find API for fulltext search.

Create an index service for Drive

Configure a Service for Docs application with these settings

  • Name: drive
    request.auth.name of the Docs application.
  • Client id: drive
    Name of the token audience or client_id of the Docs application.

See how-to-use-indexer.md for details.

Configure settings of Drive

Add those Django settings the Docs application to enable the feature.

SEARCH_INDEXER_CLASS="core.services.search_indexers.SearchIndexer"
SEARCH_INDEXER_COUNTDOWN=10  # Debounce delay in seconds for the indexer calls.

# The token from service "drive" of Find application (development)
SEARCH_INDEXER_SECRET=find-api-key-for-driv-with-exactly-50-chars-length
SEARCH_INDEXER_URL="http://find:8000/api/v1.0/documents/index/"

# Search endpoint. Uses the OIDC token for authentication
SEARCH_INDEXER_QUERY_URL="http://find:8000/api/v1.0/documents/search/"

# Limit the mimetypes and size of indexable files
SEARCH_INDEXER_ALLOWED_MIMETYPES=["text/"]
SEARCH_INDEXER_UPLOAD_MAX_SIZE=2 * 2**20  # 2Mb

We also need to enable the OIDC Token refresh or the authentication will fail quickly.

# Store OIDC tokens in the session
OIDC_STORE_ACCESS_TOKEN = True  # Store the access token in the session
OIDC_STORE_REFRESH_TOKEN = True  # Store the encrypted refresh token in the session
OIDC_STORE_REFRESH_TOKEN_KEY = "your-32-byte-encryption-key=="  # Must be a valid Fernet key (32 url-safe base64-encoded bytes)