Enterprise search · one index across every system
One search across every system.With the searcher’s own permissions.
CoderConda builds enterprise search: one index over file store, inbox, ERP and tickets, one search field in front, and everyone finds what they could open in the source system.
One index · permissions from the source system · no second file store
Access: projects, quotes, tickets
- Schmitz handover record, section 2DMS
- Order 2026-0188, customer Schmitz GmbHERP
- #4412 rework, screed in hall BTickets
Blocked: 3 · costing, the mail thread and salary bands
Access: projects, costing, variations
- Schmitz handover record, section 2DMS
- Schmitz variation costing, as of 06/2026Fileshare
- Re: Schmitz handover, open itemsInbox
- Order 2026-0188, customer Schmitz GmbHERP
Blocked: 2 · a ticket and salary bands
Access: every area including HR
- Schmitz handover record, section 2DMS
- Schmitz variation costing, as of 06/2026Fileshare
- Re: Schmitz handover, open itemsInbox
- Salary bands 2026, site managementHR
- Order 2026-0188, customer Schmitz GmbHERP
- #4412 rework, screed in hall BTickets
Blocked: 0 · every access is logged
Permissions checked before a hit exists, not hidden away afterwardsExample data, not a client project
Keeping the number of blocked hits visible is deliberate: somebody who does not know a thing exists never asks to be given access to it.
01 — The difference
Four windows.Or one field.
Every system has its own search, and each one knows only its own slice. Anyone wanting to know what happened with a customer opens four windows and then asks somebody anyway.
09:20A customer asks about the state of the open items from the handover.
Withoutfour windows
- 09:24Searching the DMS: two records with nearly the same name, one of them a scan with no text layer.
- 09:31The mail thread sits in the inbox of a colleague who is on holiday.
- 09:48The answer goes out with the phrase “to my knowledge”. The knowledge was incomplete.
Withone field
- 09:20One sentence in the search field. After 0.4 seconds the hits are there, including the record that existed as a scan.
- 09:22The answer goes out, with a link to the original.
02 — The sources
The systems stay.Only the searching moves.
The index is a copy for finding, not a second place to file things. Changing and deleting still happens in the source system, and the index follows.
- DMSDocument store61,000
- InboxProject and shared mailboxes48,000
- TicketsService and rework31,000
- ERPCases, orders, master data22,000
- WikiManual and procedures14,000
- FileshareOld project folders8,000
In the index184,000
03 — The build plan
One day for the search.Weeks for the connecting.
The weeks go on systems with no usable interface, on permissions that are named differently in four systems, and on scans without a text layer. So it starts with the two systems where most searches end.
- 01
Connect
One run per system that reads rather than copies. The source system stays authoritative.
API · SQL · SFTP · folders - 02
Make readable
Scans get a text layer, tables get structure, mails get their thread. Without this step nobody finds half of it.
OCR · parsing · threading - 03
Inherit permissions
Visibility is read out of the source system and attached to every passage. It is not reinvented.
Row level security - 04
Search
Vector and full text in one query, then reranked by recency, type and proximity to the case.
Hybrid + reranking - 05
Interface
One field, hits with an excerpt and their origin, a jump into the original. Filters only once somebody misses them.
One field, not a form - 06
Review
Frequent searches, searches with no hits, systems nobody uses. That is what sets the order of the next connections.
Zero-hit searches are the report
- Duration
- Survey 1 week, 1–3 weeks per system
- Amount
- After the first call, in writing
04 — The questions
Settled up front.Including the awkward ones.
01How do you make sure nobody finds something they may not see?
Every passage in the index carries the permissions from its source system, and the search runs in the context of the signed-in user. The check happens in the database before a hit exists. An interface that hides things afterwards is not a permission check, it is a blindfold. If permissions change in the source system the next run follows them, for sensitive areas immediately.
02Do I have to replace my systems?
No. Enterprise search sits over the existing systems and reads them. The source system stays authoritative, the index is a copy for finding. That is exactly why you can start small: two systems, then you decide about the rest.
03What about the works council?
A search across mailboxes and cases is subject to co-determination, and that belongs at the start rather than the end. What is logged, who sees the analytics and what is explicitly not analysed is something I put in writing before the first run starts.
04How long does connecting one system take?
With a usable API, usually days. Without one, the route decides the effort: database access, an export folder, SFTP. That is everyday work with systems that have been running for ten years, and no reason to leave them out.
05Where does it not carry?
Corpora of scans without a text layer, or folders with no structure at all, need preparation. What that costs stands in the survey report, not in the invoice after the build.
06What happens when something is deleted in the source system?
The passage disappears from the index. For access and erasure requests there is a run that covers both.
07How do I know whether the search is good?
By a test set of real searches and by how often the wanted document was among the first five hits. Plus the list of searches with no hits. That is the most honest report the system produces, and it usually shows missing documents rather than a search problem.
08What is the difference to RAG?
The same technology, a different interface and a different promise. Enterprise search returns hits with context to click through, RAG turns those into an answer with evidence. Usually both are built on the same index, and the foundation is paid for once.
09What do I get at the end?
Schema, connection runs, permission model and test set. Every connection is its own readable unit, including the ones somebody else adds later.
05 — Appointment
Which two systems first?One conversation settles it.
Name the two systems where your searches most often end. I will tell you how much of your searching that would already cover. One conversation is enough; no workshop needed. I name the amount in writing after the first call, before anything is built.
The calendar is hosted by cal.com.
Loading it opens a connection from your browser to cal.com (USA), which transmits your IP address; cal.com may set cookies when it loads. You can also go straight there instead.
The group
Five services on one foundation: a corpus, a search, permissions on the row.
- /19RAG & knowledge baseAnswers from your own corpus, with the passage they came from.
- /20Enterprise searchOne search across every system, with the searcher’s own permissions.You are here
- /21AI agentsAn agent gets tools, a task and a limit.
- /22MCP developmentConnect tools once instead of once per client.
- /23AI assistantsAn assistant somebody still uses after twelve weeks.