Search Manual / Version 2406.0
Table Of Contents
You can make a CAE Feeder reindex selected contents
by invoking JMX operation "reindexContent
", "reindexByQuery
", or "reindexByType
"
of MBean com.coremedia:type=CaeFeeder
.
Reindexing can be expensive, if many contents are affected. It may block indexing of other repository changes.
It can be used for example to reindex all content of a specific type after indexing rules for that type have
been changed. To this end, the "reindexByType
" JMX operation can be used.
The "reindexByQuery
" operation is more generic and takes a Unified API
query as documented in interface com.coremedia.cap.content.query.QueryService. All contents that match the query (and are not excluded from
feeding) will be reindexed.
An alternative way to trigger a partial reindexing without directly performing JMX operations, is by using the
reindex
Spring Boot actuator endpoint at http://host:port/actuator/reindex
. The provided handler
accepts HTTP POST
requests with an application/json
body containing the following
JSON
valid fields: "ids
", "contentTypes
" and "query
".
The listed elements can be used in isolation or combined together to select the content needed to be re-indexed.
For performance reasons the information sent are always merged together to form one single query execution.
Others not recognized data are ignored by default.
The endpoint accepts JSON
objects with at least one of the properties:
ids
: single numerical content id or a comma-separated list of ids{"ids": 1234}
or{"ids": "1234,5678"}
contentTypes
: comma-separated list of doc-types{"contentTypes": "CMArticle,CMMedia"}
query
: string containing a query in a format accepted by com.coremedia.cap.content.query.QueryService. When the query value is used in conjunction withcontentTypes
, the two are combined together and the type selection should be omitted from the value. TheJSON
{"query": "TYPE CMArticle : BELOW PATH '/Sites/Calista'"}
and{"contentTypes": "CMArticle", "query": "BELOW PATH '/Sites/Calista'"}
are retrieving the same contents.
When the fields are used together, contentTypes
and query
are joined by logical AND,
while ids
will be added by logical OR to the overall contents to re-index.
The following example {"ids": "1234,5678", "contentTypes": "CMArticle,CMMedia", "query": "BELOW PATH '/Sites/Calista'"}
will generate a single query like "id=1234 OR id=5678 OR TYPE CMArticle,CMMedia: BELOW PATH '/Sites/Calista'"
.
In case data are invalid or the request will result in a malformed query, a HTTP
status code 500
will be returned to the client.
After re-indexing was triggered, the CAE Feeder will mark affected content items as invalid in the database, before the actual re-indexing starts. If a request for re-indexing affects many content items and the CAE Feeder is restarted while content items are still marked as invalid, then some content items may not be re-indexed. Content items that have already been marked as invalid will be re-indexed, even if the CAE Feeder was restarted.