{"ref":"capability:search","page":"/capabilities/search","json":"/capabilities/search.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"search","name":"Search","domain":"data-and-persistence","ecosystems":["cap","abap"],"universal":true,"description":"Free-text search across an entity and its compositions, pushed into the database rather than filtered in the service. Declared search, database similarity search and filtering in application code are often lumped together.","short":"Free-text search across an entity, pushed into the database","core_coverage":{"state":"core-and-community","assessed_at":"2026-09-20","what_core_does":"Both runtimes answer $search, and a search predicate in CQL, over an entity's String elements and the entities composed under it, with the database's own contains operations. @cds.search changes which elements are searched or extends the search to an associated entity.","where_it_stops":"At a substring match on text in the service's own database, such as like '%Heights%' in standard SQL: matching that tolerates typing errors and sorts by score is a feature of [SAP HANA Cloud](artifact:btp-hana-cloud), and $search inside $expand is marked n/a for Node.js and Java. Describing searchable entities, autocomplete fields and navigation targets to a search UI across services is outside it, and is what the annotations of [@kamlendra/search-vocab](artifact:kamlendra-search-vocab) are for.","sources":[{"url":"https://cap.cloud.sap/docs/guides/services/served-ootb#searching-data","title":"Generic Service Providers, Searching Data","checked":"2026-09-20","quote":"using database-specific contains operations (for example, using like '%Heights%' in standard SQL)"},{"url":"https://cap.cloud.sap/docs/guides/services/served-ootb#fuzzy-search","title":"Generic Service Providers, Fuzzy Search on SAP HANA Cloud","checked":"2026-09-20","quote":"Fuzzy search is a fault-tolerant search feature of SAP HANA Cloud, which returns records even if the search term contains additional characters, is missing characters, or has typographical errors."},{"url":"https://cap.cloud.sap/docs/guides/protocols/odata","title":"Serving OData APIs","checked":"2026-09-20","quote":"The elements to be searched are specified with the @cds.search annotation."},{"url":"https://cap.cloud.sap/docs/guides/protocols/odata","title":"Serving OData APIs","checked":"2026-09-20","quote":"$search Search associated entities n/a n/a"},{"url":"https://cap.cloud.sap/docs/java/working-with-cql/query-api","title":"Building CQL Statements","checked":"2026-09-20"},{"url":"https://www.npmjs.com/package/@kamlendra/search-vocab","title":"@kamlendra/search-vocab, npm","checked":"2026-09-20","quote":"A comprehensive CAP plugin for entity search integration with built-in schema discovery service."}],"relationship":"unassessed","note":"[@kamlendra/search-vocab](artifact:kamlendra-search-vocab) is independent and executes no search of its own; how its vocabulary relates to @cds.search has not been assessed."},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"core","to":"core-only","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."},{"date":"2026-09-14","field":"ecosystems","from":"cap","to":"cap, abap","reason":"ZC8A_001 pushes similarity search into SAP HANA through AMDP and into Oracle through ADBC from ABAP classes, so the concern has an answer behind the ABAP door."},{"date":"2026-09-20","field":"core_coverage.state","from":"core-only","to":"core-and-community","reason":"@kamlendra/search-vocab, an independent cds-plugin on CAP, carries a provides edge to this capability beside @sap/cds and com.sap.cds:cds-services-bom, so core-only no longer describes who is present."},{"date":"2026-10-26","field":"core_coverage.where_it_stops","from":"exists only on [SAP HANA Cloud]","to":"is a feature of [SAP HANA Cloud]","reason":"Reassessed against the graph (check:capabilities): the phrase read as a claim that no other provider exists; the cited source states fuzzy search as a SAP HANA Cloud feature."},{"date":"2026-10-26","field":"coverage_by_ecosystem.abap.state, coverage_by_ecosystem.abap.relationship, coverage_by_ecosystem.abap.note","from":"core-and-community; unassessed; The repository here is independent; how it relates to CDS search has not been assessed.","to":"core-only; relationship and note removed","reason":"Reassessed against the graph (check:capabilities): the only independent provider behind the ABAP door is ZC8A_001, an artifact of type sample, which is not a presence; the core stays because what_core_does is sourced."}],"coverage_by_ecosystem":{"abap":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"ABAP CDS search annotations mark a view with @Search.searchable and its elements for text and fuzzy search, which runs on the search functions SAP HANA provides.","where_it_stops":"At SAP HANA and the annotations. A system on another database, or a similarity measure the annotations do not expose, needs the search written in ABAP against the database directly.","sources":[{"url":"https://help.sap.com/doc/saphelp_nw75/7.5.5/en-US/6f/9212bbaf5e4d598c774b96d93f7b79/content.htm?no_cache=true","title":"Enabling Text and Fuzzy Searches in SAP Fiori Apps — SAP NetWeaver 7.5, SAP Help Portal","checked":"2026-09-14","quote":"refer to the range of functions for text and fuzzy searches that are provided in the context of SAP HANA"}]}},"framing_by_ecosystem":{"abap":{"description":"In ABAP search is declared on a CDS view and executed by SAP HANA; outside CDS, or on Oracle, similarity search is written in AMDP or through ADBC."}},"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"},{"ref":"artifact:cap-java-cds-services-bom","name":"com.sap.cds:cds-services-bom","json":"/artifacts/cap-java-cds-services-bom.json"}],"documented_pattern":[],"announced":[],"packages":[]},"by_flavor":{"node":{"built_in":[{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json"}],"documented_pattern":[],"announced":[],"packages":[]},"java":{"built_in":[{"ref":"artifact:cap-java-cds-services-bom","name":"com.sap.cds:cds-services-bom","json":"/artifacts/cap-java-cds-services-bom.json"}],"documented_pattern":[],"announced":[],"packages":[]}}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:kamlendra-search-vocab","name":"@kamlendra/search-vocab","json":"/artifacts/kamlendra-search-vocab.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:sap-cds","name":"@sap/cds","json":"/artifacts/sap-cds.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:cap-java-cds-services-bom","name":"com.sap.cds:cds-services-bom","json":"/artifacts/cap-java-cds-services-bom.json","ecosystem":"cap","origin_ring":"sap-official"}],"samples":[{"ref":"artifact:olegbash599-zc8a-001","name":"ZC8A_001","json":"/artifacts/olegbash599-zc8a-001.json"}],"explained_by":[{"ref":"content:building-an-sap-btp-agent-architecture-from-scratch-python-cap-hana","name":"Building an SAP BTP Agent Architecture from Scratch: Python + CAP + HANA","json":"/content/building-an-sap-btp-agent-architecture-from-scratch-python-cap-hana.json"},{"ref":"content:understanding-fuzzy-search-in-sap-fiori-applications","name":"Understanding Fuzzy Search in SAP Fiori Applications","json":"/content/understanding-fuzzy-search-in-sap-fiori-applications.json"},{"ref":"content:semantic-search-in-cap-nodejs-vector-embeddings","name":"Semantic search in CAP (Node.js): vector embeddings and cosine similarity","json":"/content/semantic-search-in-cap-nodejs-vector-embeddings.json"},{"ref":"content:part-2-enrich-cap-based-services-with-behaviors-using-annotations","name":"[Part – 2] Enrich CAP based Services with Behaviors using Annotations","json":"/content/part-2-enrich-cap-based-services-with-behaviors-using-annotations.json"},{"ref":"content:case-insensitive-filters-in-fiori-elements-with-a-cap-backend","name":"Case-insensitive filters in Fiori Elements (List report + CAP)","json":"/content/case-insensitive-filters-in-fiori-elements-with-a-cap-backend.json"},{"ref":"content:improved-search-performance-in-sap-btp-core-sap-cloud-application-programming-mo","name":"Improved Search Performance in SAP BTP Core, SAP Cloud Application Programming Model, Node.js Runtime","json":"/content/improved-search-performance-in-sap-btp-core-sap-cloud-application-programming-mo.json"}],"normative_context":[]}}