lucene.net - Differences in Umbraco cache structure? -


ok, have spent last 6-8 weeks in weeds of umbraco , have made fixes/improvements our site , environments. have spent lot of time trying correct lower level umbraco caching related issues. reflecting on experience , still don't have clue conceptual differences between following:

  • examine indexes
  • umbraco.config
  • cached xml file in memory (supposedly similar umbraco.config)
  • cmscontentxml table

thanks again,

devin

examine indexes index of umbraco content

so when ever create/update/delete content, current content information indexed

this index use searching - under hood, lucene index umbraco backend use these index searching

you can create own index if want

more info checkout, overview & explanation - "examining examine peter gregory"

umbraco.config , cached xml in memory same thing.

the front end umbracohelper api content cache not database - cache umbraco.config

cmscontentxml contains each content's information xml

so xml represent information of node content

so in nutshell represent 3 things:

  1. examine used searching
  2. umbraco.config cached data - save round trip db
  3. cmscontentxml stores full information of content

edit include better clarification robert foster comment , umbracohelper vs examinemanager

for umbraco.config , cmscontentxml table, @robert-foster commented

umbraco.config stores recent version of published content only; in-memory cache cached version of file; , cmscontentxml table stores representation of content , used preview mode - updated every time content item saved. iirc stores representation of other content types

regards umbracohelper vs examinemanager

umbracohelper api it's content memory cache - imo works best when locating direct content, such when know id of content want, call umbraco.typedcontent(id)

but id want in first place? or put way, if want find content's property title contain word "test", use examine search it. because examine lucene wrapper, going fast , efficient

although can traverse tree method such umbraco.typedcontent(id).children use linq filter result, think done in memory using linq-to-object, not efficient , preferment lucene

so think:

  1. use examine when searching (locating) content - because can use capability of proper search engine lucene
  2. once got ids search result, use umbracohelper full publish content representation of content id strong type model , work data.

one thing @robert-foster mention in comment which, did not know umbracohelper provides search method wrapper around examine, use if more familiar api.

lastly, if above statement wrong or not correct, me clarify @ later not wrong, all.


Comments

Popular posts from this blog

Django REST Framework perform_create: You cannot call `.save()` after accessing `serializer.data` -

Why does Go error when trying to marshal this JSON? -