Take the 2-minute tour ×
Tridion Stack Exchange is a question and answer site for Tridion developers and administrators. It's 100% free, no registration required.

Looking at the SI4T documentation, it seems we can only remove item from index after we change the metdata and publish the item again, is there a way we can remove item from the index while unpublishing the item?

I am also looking for how do we cater the scenario of handling multiple indexes, for e.g. I have 5-6 different sites for which I want to maintain separate Indexes and there are some common pages for couple of sites whose index information gets updated in their corresponding indexes, how will un-publish work here, how will it determine from which index it will remove the page?

share|improve this question
add comment

2 Answers

up vote 2 down vote accepted

Presuming you have different Tridion Publications for each of the websites, it is possible to have a separate index for each of the websites. SI4T supports this out of the box. The way to set this up is to configure an index per website publication in cd_storage_conf.xml:

    <Storage 
            Type="persistence" Id="defaultdb" dialect="MSSQL" 
            Class="com.tridion.storage.si4t.JPASearchDAOFactory">
    <!-- ommitted other configuration -->

    <!-- 
        To be able to use multiple cores for a website publication,
        simply add a solr web application core corresponding 
        for a Tridion Publication.

        The example below shows that you can either post to different cores
        on a single solr server, or to a completely different server if so required

        Let's say for example there are 3 publications:

        tcm:0-5-1 : example.com - English main website
        tcm:0-8-1 : example.de - German website, indexed on a separate server
        tcm:0-12-1: example.co.uk - UK only content

        If content is published from a different publication, it will be 
        indexed in the English main website publication Solr core. This is no
        problem, because all content is indexed based on the unique TCM Id and
        a single Solr index can therefore also hold content for multiple publications.

    -->
    <Indexer 
        Class="com.tridion.extensions.storage.search.solr.SolrIndexer" 
        Mode="http"
        DefaultCoreUrl="http://localhost/solr/example-com"
        DocExtensions="pdf,docx,doc,xls,xlsx,pptx,ppt">
        <Urls>
            <Url Value="http://localhost/solr/example-com" Id="5" />
            <Url Value="http://solrindex.example.de/solr/example-de" Id="8" />
            <Url Value="http://localhost/solr/example-couk" Id="12" />
        </Urls>
    </Indexer>
    </Storage>

Pubishing / Unpublishing

Both publishing and unpublishing work in the same way, regardless whether content is indexed in a single, or in multiple Solr indexes. The SI4T indexer always matches content to be indexed or removed at publish time against the configured Publication Ids set in cd_storage_conf.xml. It does this by simply matching the publication Id part of the TCM Id of the Tridion item and then by looking up the correct index to insert, update or remove content.

Searching multiple indexes

If the requirement is to have separate indexes, but to search across different Solr cores, then I would recommend to take a look at Solr's Distributed Search capability, which also works out of the box.

share|improve this answer
add comment

Don't worry! The standard behaviour is that when you unpublish an item it will also be removed from the index. The functionality to remove from the index by republishing, is to enable users to un-index pages that are still needed on the site without having to unpublish then republish them.

I updated the documentation, to make this clear.

share|improve this answer
    
Thanks Will, please can you give an idea how this is achieved –  user1981185 Feb 7 at 15:44
    
As Will says, the default behaviour is that if a page or a DCP is in the index (as identified by the unique tcm id), it will always be deleted when that item is unpublished. Please read the link Will provided. :) –  Raimond Feb 8 at 10:11
    
@Raimond thanks, I am just wondering how this work if we have multiple indexes, as when I un-publish a page I wont be having page's index information so how do I know from which Index I need to remove the page –  user1981185 Feb 11 at 8:14
    
Can you describe your multiple index setup a bit better? It would be good if you edit your post. –  Raimond Feb 11 at 8:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.