Hello Robert!
ok I think I understand, thank you again for your time and code.
So in my first attempt I actually saved the object in the databas as a %DynamicObject but I could not get the indexing to work.
So saving as a %DynamicObject is not problem I am in control of how the information is saved.
Lets say JSON contains "firstName" how would i create the index directly without computed properties on just that property $.firstName
This below did not work and as far as I can tell it did not even understand that it was a object and just indexed the refrerence.
Index AnalyticIdx On (JSON) As %iFind.Index.Analytic(INDEXOPTION = 0, LANGUAGE = "en", LOWER = 1);
So I am still confused by this line below from the docs
Specify $ to index the entire JSON object. Specify $.key2 to index the JSON values at key2 and below...
ok but where should I specify $ or $.firstName, please answer if you know this.
Best regards,
Magnus
Good morning all!
Whaow thank you for your time and effort! You all gave me a great start of a new day
I cannot still help to wonder about the few lines found in the documentation, how to you interpret these lines below.
"Indexing a JSON Object
You can create an iFind index for text stored in a JSON object. This index specifies the starting position in the JSON structure. iFind recursively indexes all text at that level and all nested levels below it. Specify $ to index the entire JSON object. Specify $.key2 to index the JSON values at key2 and below."
So using my sample json I am thinking that it means that I can choose only to index firstName by creating the index and passing an argument like $.firstName something like
Index AnalyticIdx On (JSON) As %iFind.Index.Analytic(KEY=$.firstName, INDEXOPTION = 0, LANGUAGE = "en", LOWER = 1);
Best regards,
Magnus
Hello Robert!
Thank you at least I find comfort in that you understand me and that I am not alone :-)
I have marked your previous solution as the answer, since it works and is what I ended up using.
Best regards,
Magnus