Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Chris Roberts 74 posts 106 karma points c-trib
    Apr 11, 2015 @ 19:20
    Chris Roberts
    0

    Distributed Calls for Custom Examine Index

    Hello,

    I have a site built on Umbraco v6.1.6. We have implemented a custom Examine index by writing our own data service (based on Examine.LuceneEngine.ISimpleDataService).

    This is all working fine, except for the fact that in our load balanced environment, Distributed Calls don't appear to be propagating index changes triggered on one server to the other.

    From the research I've done, I believe more work was done in v6.2.? on Distributed Calls, but would these changes cover my scenario?

    If it's not as simple as upgrading our installation of Umbraco to get this going, can anyone give me any pointers as to what I will need to do to get the indexes synchronising?

    Thanks,
    - Chris

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Apr 13, 2015 @ 11:25
    Dave Woestenborghs
    0

    Hi Chris,

    Do the out of box indexes get updated when you publish content ?

    Dave

  • Chris Roberts 74 posts 106 karma points c-trib
    Apr 13, 2015 @ 15:35
    Chris Roberts
    0

    Hi Dave,

    Thanks for the response - yes - as far as I can tell the Distributed Calls are doing what they need to do in terms of updating the content on the site.

    Thanks,
    - Chris

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Apr 13, 2015 @ 15:37
    Dave Woestenborghs
    0

    But are they also updating the default indexes like InternalIndex and ExternalIndex ?

    If that's the case I suspect it's your service that's the culprit.

    Dave

  • Chris Roberts 74 posts 106 karma points c-trib
    Apr 13, 2015 @ 15:53
    Chris Roberts
    0

    Hi Dave,

    I can confirm that the ExternalIndexer works fine.

    As far as I can see, the ISimpleDataService only has one member - GetAllData - which we've implemented.

    The service does essentially work as I can manually force a re-index by clicking the button on the 'Examine' tab within the Umbraco back end on each web server and it updates without a problem.

    That said, thinking about it, there is no method in the data service which can be called to re-index a single document, so I don't know what the DistributedCalls infrastructure could call - other than perform a complete re-index?!

    Any pointers of where to go next would be appreciated!

    Thanks,
    - Chris

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Apr 13, 2015 @ 15:57
    Dave Woestenborghs
    0

    Do you index Umbraco content or external content.

    If it's umbraco content you could fire a event on publish of a node to index your content

  • Chris Roberts 74 posts 106 karma points c-trib
    Apr 13, 2015 @ 17:00
    Chris Roberts
    0

    It's external content, unfortunately!

  • Chris Roberts 74 posts 106 karma points c-trib
    Apr 19, 2015 @ 01:01
    Chris Roberts
    0

    OK - So, looking at it, the Examine.LuceneEngine.Providers.SimpleDataIndexer doesn't support any form of update via the Umbraco distributed calls mechanism.

    I guess as it's part of Examine, and not part of Umbraco, that would make some kind of sense.

    The problem is - I'm not quite sure where to go from here... Do I need to implement a completely new Indexer (perhaps 'borrowing' some of the code from the UmbracoContentIndexer), or stick with the SimpleDataIndexer and work out a separate mechanism to update the other web server?!

    Any thoughts / pointers would be appreciated!

    Thanks,
    - Chris

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Apr 21, 2015 @ 08:40
    Dave Woestenborghs
    0

    Hi Chris,

    Maybe you can ping Shannon Deminick (@Shazwazza) on twitter. He is the developer of Examine.

    Dave

  • Chris Roberts 74 posts 106 karma points c-trib
    Apr 21, 2015 @ 09:25
    Chris Roberts
    0

    Thanks Dave,

    I think I've achieved what I need by implementing a class based on ICacheRefresher. When I've proved that it does the job, I'll put the details in a blog post and link to it from here in case it helps anyone else...

    - Chris

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    Apr 21, 2015 @ 09:39
    Dave Woestenborghs
    0

    Cool... looking forward to it. Had this on my todo list to have a look at. Maybe you can already post the code ?

  • Dave Woestenborghs 3504 posts 12134 karma points MVP 9x admin c-trib
    May 20, 2015 @ 13:54
    Dave Woestenborghs
    0

    Hi Chris,

    Did you get the ICacheRefresher to work. Can you post some details ?

     

    Dave

Please Sign in or register to post replies

Write your reply to:

Draft