Use the SiteApplicationRoutingStrategy if you have a separate EAC application for each site (with all languages in a given site being handled by that site’s EAC application), or if you have a separate EAC application for each combination of site and language. Make sure you are creating a separate app for the site.
Naviate to /atg/endeca/ApplicationConfiguration
set
applicationRoutingStrategy=\
/atg/endeca/configuration/SiteApplicationRoutingStrategy
In addition, to ensure that separate records are created for each site, you need to add the UniqueSiteVariantProducer to the variantProducers property of each EndecaIndexingOutputConfig component. For example ProductCatalogOutputConfig,MediaOutputConfig,ArticleOutputConfig.
variantProducers+=/atg/search/repository/UniqueSiteVariantProducer
Also, mention the siteIDsToIndex property with all the sites required to index in output config. please consider this as an important step, if you are not doing this your indexing will always be a failure.
Set the routingObjectAdapter property of the/atg/endeca/index/IndexingApplicationConfiguration component to specify the ContextRoutingObjectAdapter component to use:
routingObjectAdapter=\
/atg/endeca/index/configuration/SiteContextRoutingObjectAdapter
Set the routingObjectAdapter property of the /atg/endeca/assembler/AssemblerApplicationConfiguration component to specify the RequestRoutingObjectAdapter component to use:
routingObjectAdapter=\
/atg/endeca/index/configuration/SiteRequestRoutingObjectAdapter
eg: ApplicationConfiguration
workbenchHostName=localhost
# Our Workbench Port
workbenchPort=8006
applicationRoutingStrategy=\
/atg/endeca/configuration/SiteApplicationRoutingStrategy
defaultLanguageForApplications=
keyToApplicationName=\
ClothSite=ClothSiteAPP,\
ApprealSite=ApprealSiteApp
applicationKeyToMdexHostAndPort=\
ClothSite=localhost:15000,\
ApprealSite=localhost:16000
where ClothSite & ApprealSite are sitesIds of the application
eg: SiteApplicationRoutingStrategy
eg:filterByLocale=true
applicationNameFormatString={0}{1}
eg:IndexingApplicationConfiguration
CASHostName=localhost
CASPort=8500
EACHostName=localhost
EACPort=8888
routingObjectAdapter=\
/atg/endeca/index/configuration/SiteContextRoutingObjectAdapter
cxfLogLevelOverride^=/Constants.null
eg: AssemblerApplicationConfiguration
routingObjectAdapter=\
/atg/endeca/index/configuration/SiteRequestRoutingObjectAdapter
useFileStoreFactory=true
applicationKeyToStoreFactory=\
ClothSite=/atg/endeca/assembler/cartridge/manager/ClothSiteFileStoreFactory,\
ApprealSite=/atg/endeca/assembler/cartridge/manager/ApprealSiteFileStoreFactory
Here you cannot use the defaultFileStore Factory, you have to use the filestore factory for separate instances.
Create a component
eg: ClothSiteFileStoreFactory with the below data
$class=atg.endeca.assembler.content.ExtendedFileStoreFactory
configurationPath=\
C:\\Endeca\\Apps\\ClothSite
appName=ClothSiteApp
Last you mention about the
eg:EndecaAdministrationService
/atg/endeca/assembler/admin/EndecaAdministrationService
$class=atg.endeca.assembler.MultiAppAdministrationService
storeFactory^=/Constants.NULL
Set this property to handle the multiple Applications.
Happy Learning !!!!
No comments:
Write comments