Direct Lucene.Api is not working after Umbraco Updates
Hi,
It's my first to post hope someone can help me or give some ideas.
It is working in Umbraco 7.5.6 but when I update it to 7.10.3 this code is not working properly, it is getting the old totalproducts.
var machineName = Environment.MachineName;
string indexPath = string.Format($"~/App_Data/TEMP/ExamineIndexes/{machineName}/External/Index");
var indexDirectory = FSDirectory.Open(new DirectoryInfo(HttpContext.Current.Server.MapPath(indexPath)));
var searcher = new IndexSearcher(indexDirectory, true);
TopDocs resp = searcher.Search(masterQuery, null, searcher.MaxDoc());
Debug.WriteLine(resp.TotalHits, "Total Products")
// Output is always getting the old total which is 79, even if I add/delete product..
I've done rebuilding the Examine, but still doesn't work.
Can anyone what's wrong with the code? Or does the Examine moved to another folder after Umbraco Updates?
If you have a look in your /config/examine.config file in your solution, you'll see the location on disk specified for your external index:
<!-- Default Indexset for external searches, this indexes all fields on all types of nodes-->
<IndexSet SetName="ExternalIndexSet" IndexPath="~/App_Data/TEMP/ExamineIndexes/External/" />
In Umbraco 7.5, this 'used' to include a machine name in the path eg:
So my guess is during the upgrade, you perhaps switched to use the version of the examine.config shipped with 7.10.3
Therefore whenever you build your indexes via the backoffice, the build correctly, however they now are located in this folder:
/App_Data/TEMP/ExamineIndexes/External/
(you can have a look on disk and see if they are there)
However your custom code above is looking for the files in the following location:
But how this happen? When I look into my ExamineIndex.config file, {machineName} is missing after Updates, but I don't receive any logs/messages during the updates.
Direct Lucene.Api is not working after Umbraco Updates
Hi,
It's my first to post hope someone can help me or give some ideas.
It is working in Umbraco 7.5.6 but when I update it to 7.10.3 this code is not working properly, it is getting the old totalproducts.
I've done rebuilding the Examine, but still doesn't work.
Can anyone what's wrong with the code? Or does the Examine moved to another folder after Umbraco Updates?
Appreciate any help and ideas.
Thanks,
Marky
Hi Marky
If you have a look in your /config/examine.config file in your solution, you'll see the location on disk specified for your external index:
In Umbraco 7.5, this 'used' to include a machine name in the path eg:
So my guess is during the upgrade, you perhaps switched to use the version of the examine.config shipped with 7.10.3
Therefore whenever you build your indexes via the backoffice, the build correctly, however they now are located in this folder:
/App_Data/TEMP/ExamineIndexes/External/
(you can have a look on disk and see if they are there)
However your custom code above is looking for the files in the following location:
~/App_Data/TEMP/ExamineIndexes/{machineName}/External/Index
and so isn't reading the 'latest' version of the indexes...
but instead a snapshot of the indexes before the upgrade! hence the old value for totalproducts
So if you can have a couple of options: either change your custom code to point to the new index location:
eg
or change your current post upgrade ExamineIndex.config location to point to your path that contains the machinename variable.
regards
Marc
Hi Marc,
Ohh Crap, it's working now.
But how this happen? When I look into my ExamineIndex.config file, {machineName} is missing after Updates, but I don't receive any logs/messages during the updates.
Anyways, thanks for your help.
Good day to you,
Cheers,
Marky
is working on a reply...