I have an Azure Cognitive Search that scans every night an Azure Storage Blob Container. Within the container is one single CSV file. This file has like 30 columns and maybe 20k rows.
The values of some of those rows and columns change. E.g. column a = price, column b = 19,99 USD.
I would expect that every change of information is recognized by the Cognitive Search. But it seems that if a value was tracked once, even if the value changes it won’t be reflected in the index.
So the index always delivers "old" data. How can I configure an index so it reflects every change?
I run the indexer on Monday, the document says the price for X is 19,99 USD.
A day later the CSV states that the price changed to 15,99 USD. But despite that the index runs every night it always stays on 19,99 – not reflecting the change.
2
Answers
If the Azure Cognitive Search is not automated to run then it would not change its value without being executed. As you said yourself when you run it, it fetches the data and when you do not the data remains the same.
Check this out for further clarification,
https://learn.microsoft.com/en-us/answers/questions/1362109/azure-cognitive-search-indexer-not-reflecting-new
Make sure that you have configured your indexer according to Index CSV blobs ( specifically that it has the
parsingMode
set todelimitedText
and thefirstLineContainsHeaders
property configured properly). If it is not, create a separate indexer and index to test with the suggested configuration and check when changes are made to the CSV and run the test indexer accordingly, make sure that this fixes your issue before making any changes to your current configuration.Also, make sure that it has a schedule that runs when you need (if you need it to run every night, just make sure that is actually running in the indexer history and that you have no errors or warnings).
Since the indexer may fail and will pick up any changes from any transient errors until the next run, you may want to consider a schedule of more than once per day.