Hello. I'd like to convert published and unpublished content in Umbraco to a strongly-typed model, using a singular approach.
I'm exploring using the "Internal" Examine index to do this, which contains both published and unpublished data.
Currently I read the property/value pairs returned from Examine, convert to JSON and the convert to a strongly-typed model.
This is working, even for Nested Content properties.
However, it does not work when I enabled Variants, as the property names returned by Examine then have a Culture suffix e.g. "department" becomes "department_fr-fr".
Q. Is there a way to tell Examine to search using a specific Culture and return property names without the suffix?
Is there a better way to achieve the requirements?
Many thanks
My current code is below:
ISearcher searcher;
if (_examineManager.TryGetIndex(Constants.UmbracoIndexes.InternalIndexName, out var index))
{
searcher = index.GetSearcher();
}
else
{
throw new ApplicationException("Could not create index.");
}
var criteria = searcher.CreateQuery("content").NodeTypeAlias("person").And().Field($"department_fr-fr", "FrenchCatering");
var searchResults = criteria.Execute();
if (searchResults.Any())
{
var searchResult = searchResults.FirstOrDefault();
if (searchResult != null)
{
var sourceDictionary = searchResult.Values;
var json = JsonConvert.SerializeObject(sourceDictionary);
result = JsonConvert.DeserializeObject<T>(json);
}
}
return result;
}
Examine - Unpublished content - language variants
Hello. I'd like to convert published and unpublished content in Umbraco to a strongly-typed model, using a singular approach.
I'm exploring using the "Internal" Examine index to do this, which contains both published and unpublished data.
Currently I read the property/value pairs returned from Examine, convert to JSON and the convert to a strongly-typed model.
This is working, even for Nested Content properties.
However, it does not work when I enabled Variants, as the property names returned by Examine then have a Culture suffix e.g. "department" becomes "department_fr-fr".
Q. Is there a way to tell Examine to search using a specific Culture and return property names without the suffix?
Is there a better way to achieve the requirements?
Many thanks
My current code is below:
is working on a reply...