Bug #33739
referenced content elements force indexing of "not in index" pages
| Status: | Accepted | Start date: | 2012-02-07 | |
|---|---|---|---|---|
| Priority: | Should have | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | - | |||
| TYPO3 Version: | Has patch: | |||
| PHP Version: | Tags: | |||
| Votes: | 4 (View) |
Description
If you have content elements on a page which is marked not to index, this page will be indexed if you put a reference of this element on a different page.
Solr has to respect this setting, or even better the content of the referenced element should be indexed for the page where the reference is placed.
Related issues
| related to Apache Solr for TYPO3 CMS - Feature #34406: Allow page indexing for custom doktypes | Accepted | 2012-02-29 |
History
Updated by Heiko Kromm over 1 year ago
I figured out, that this error does not depend on referenced content elements.
At the moment every page will be added to the indexqueue in tx_solr_indexqueue_RecordMonitor->processDatamap_afterDatabaseOperations, not respecting the no_search flag.
The garbagecollector removes this page afterwards, if the page is not new and the pages element is saved.
I think tx_solr_indexqueue_RecordMonitor->processDatamap_afterDatabaseOperations has to check if the page is allowed to index, because the garbagecollector does not work if we create a new page where the no_search flag is set and the garbagecollector does not react on changing tt_content elements (which creates an entry for the pages table).
Additonally I have to say, that the referenced elements get correctly indexed on the page where I put them. I used a column, where TYPO3SEARCH was disabled.
Updated by Ingo Renner over 1 year ago
- Status changed from New to Accepted
This is a known issue, but needs some more advanced solution. The restrictions of indexing configurations need to be checked at several places (IQ initialization, adding items, updating items, deleting items, garbage collection). To properly solve this we need to remove the additionalWhereClause option and replace it with an easy to parse configuration. I call this a query builder and the idea is noted down in tx_solr_indexqueue_initializer_Abstract already:
tt_news {
conditions {
10 {
field = pid
value = 2,3,5
condition = in / equals / notEquals / greaterThan / lessThan / greaterThanOrEqual / lessThanOrEqual
}
20 {
field = ...
value = ...
condition = ...
or {
10 {
field = ...
value = ...
condition = ...
}
20 {
field = ...
value = ...
condition = ...
}
}
}
}
fields {
// field mapping
}
}