我目前正试图在TYPO3中使用Solr为新的IRRE ContentElements编制索引。
我有多个新元素,例如“标题”和“横幅”等。
我的索引队列看起来像这样,但是不起作用(solr需要最少的字段->标题,内容和url-但是我不想要新的url,我想要当前显示内容的页面中的url ...就像每个文本/图像元素或tt_content中的标准元素一样。
我的solr配置看起来像这样:
plugin.tx_solr.index.queue {
extname_tile = 1
extname_tile {
table = tx_extname_domain_model_tile
fields {
header = header
bodytext = bodytext
}
}
}
我的tt_content覆盖看起来像这样
'tx_extname_tile' => [
'label' => 'LLL:EXT:extname/Resources/Private/Language/locallang_db.xlf:tx_extname_tile',
'config' => [
'type' => 'inline',
'foreign_table' => 'tx_extname_domain_model_tile',
'foreign_field' => 'parentid',
'foreign_table_field' => 'parenttable',
'appearance' => [
'collapseAll' => 1,
'expandSingle' => 1,
'useSortable' => 1,
'showSynchronizationLink' => 1,
'showAllLocalizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'showRemovedLocalizationRecords' => 1,
],
'maxitems' => 24,
'behaviour' => [
'localizeChildrenAtParentLocalization' => true,
],
]
],
答案 0 :(得分:0)
如果我正确理解,您希望能够根据贴在其上的图块或横幅找到内容元素。如果是这样,则无需索引磁贴和横幅,但必须索引tt_content记录并将磁贴和横幅添加为字段。使用正常记录,这将不是问题。但是使用tt_content。 Solr扩展无法(轻松地)为tt_content记录建立索引,因为它们通常被索引为页面的一部分。因此,页面被索引而不是单独的内容元素。不幸的是,此行为是硬编码在solr扩展中的。
现在,如果您要查找包含具有特定图块或横幅的内容元素的页面,那就可以了。在没有实际测试的情况下,它就像:
plugin.tx_solr.index.queue.pages.fields.tiles_stringM = CONTENT
plugin.tx_solr.index.queue.pages.fields.tiles_stringM {
table = tt_content
select {
pidInList.field = uid
selectFields = tx_extname_tile
}
renderObj = CONTENT
renderObj {
table = tx_extname_domain_model_tile
select {
pidInList.field = pid
where = parentid = ###contentuid###
markers {
contentuid.field = uid
}
}
renderObj = TEXT
renderObj {
field = title
wrap = |,
}
}
}
然后,您必须将此字段添加到搜索字段或过滤器中,具体取决于要使用的字段。