Repository navigation
[SPIKE] Combine ElasticSearch Filters with Folder-based Criteria #33241
Description
Activity
- removed a parent issue
on Sep 11, 2025 - added a parent issue
on Sep 11, 2025 @fabrizzio-dotCMS Is it possible to add the full locale information and not only the
languageId?@fabrizzio-dotCMS Is it possible to add the full locale information and not only the
languageId?
@zJaaal Let's see how it gets done first. I was told that BrowserResource fills the gaps between DB and ES. I need to do this research first to give you a concrete answer.- moved this from Current Sprint Backlog to In Progress in dotCMS - Product Planning
on Sep 16, 2025 Well, it turns out that BrowserResource can actually be used to integrate search with folders.
The catch is that it does not rely on ElasticSearch.On the other hand, it supports filtering by a bunch of criteria — name, extension, baseTypes, mimeTypes, languages — and it also respects user permissions.
However, to track any potential side effects caused by the introduction of changes, I need to know where it is currently used
I found this:/** * Retrieves contentlets from a specified folder. * * @param params - Parameters defining the folder and retrieval options. * @returns An observable emitting an array of `DotCMSContentlet` items. */ getContentByFolder(params: ContentByFolderParams) { return this.#http .post<{ entity: { list: DotCMSContentlet[] } }>('/api/v1/browser', params) .pipe(pluck('entity', 'list')); }on core-web/libs/data-access/src/lib/dot-site/dot-site.service.ts
@zJaaal can you help me track where that endpoint is being used in the FE?BTW I think I can add the language as a locale
I just confirmed BrowserResource is only used by the File Selector
#30216
But the underlying API is consumed via BrowserAjaxHere a small doc that I prepared that explains how to use BrosweResource
https://docs.google.com/document/d/19u4mPDOjn2iAzvwRggXAP2yH84Q8mg9UpkXMKnKmW70/edit?tab=t.0#heading=h.nvfx05qhtcl8- moved this from In Progress to Done in dotCMS - Product Planning
on Sep 29, 2025
Metadata
Metadata
Assignees
Type
Projects
- StatusShow more project fieldsDone
Spike Title
Combine ElasticSearch Filters with Folder-based Criteria
Research Question
Goal
Explore approaches to combine ElasticSearch filters with folder-based criteria so that the Content Drive can return only the expected results.
Open Questions
• How can we link folders to content in ES queries if folders are not indexed?
• Should folder information be included in the ES index for contentlets (e.g. store folder path/ID)?
• Alternatively, should we first filter by ES, then cross-filter by folder results from the API?
• What would be the performance impact of each approach?
Perhaps the desired result can be accomplished if we first request all the identifiers within a folder and feed our query as follows using the identifiers like this:
This will fulfill the requirements
However, if the number of items within a folder is too long, the query might easily reach a limit
Timebox
8h
Acceptance Criteria
Context
Currently:
• ElasticSearch allows us to filter by properties such as title, contentType, host, etc.
• Our folder API exposes the folder hierarchy, but ES does not store or index folder data.
This creates a challenge when we need queries like:
Retrieve all contentlets where the title contains "some" and belongs to the selected folder.
Links
No response