@<1722061389024989184:profile|ResponsiveKoala38> Thanks a lot for the help. Keep up the good work!
@<1722061389024989184:profile|ResponsiveKoala38> Now I can see the images where previously it was placeholders with text "Unable to upload the images"
@<1722061389024989184:profile|ResponsiveKoala38> It fixed the issue!
@<1722061389024989184:profile|ResponsiveKoala38> Sure, I'll get back to you as it finishes
Please let me know if it fixes the UI. I will ask to update our documentation then
@<1722061389024989184:profile|ResponsiveKoala38> My bad, I was indeed using double quotes. I fixed it and now script is working. I'll wait for results
Can you please share it as a text
It is indistinguishable visually but I want to make sure that each single quote is replaced with single quote slash single quote single quote
and not single quote slash double quote
A bit confusing. But this is what linux shell wants if you have single quotes inside double quotes inside outer single quotes
No. It is actually string concatenation. What you actually get is that an original string is broken into several parts. That are concatenated as following:
-d'{....' + ' + '....}'
@<1722061389024989184:profile|ResponsiveKoala38> Shouldn't the escape slash be before the quote?
Yeah, they should:) The problem is that they are inside outer single quotes -d'{...}'
I figured it was something with syntax but I thought single ticks inside double quotes should work without escaping 😀
Ah, I see. I forgot to escape the single quotes inside script. Please replace the current script source:
"ctx._source.url = ctx._source.url.replace('http://<MY_OLD_ADDRESS>', ' None .<NEW_ADDRESS>')"
With the escaped one:
"ctx._source.url = ctx._source.url.replace('''http://<MY_OLD_ADDRESS>''', ''' None .<NEW_ADDRESS>''')"
It's the same request you provided just without "case_sensitive" option and with my endpoints @<1722061389024989184:profile|ResponsiveKoala38>
curl -XPOST -H 'Content-Type: application/json' 'localhost:9200/events-training_debug_image-*/_update_by_query?conflicts=proceed' -d'{
"script": {
"source": "ctx._source.url = ctx._source.url.replace('http://<MY_OLD_ADDRESS>', '
.<NEW_ADDRESS>')",
"lang": "painless"
},
"query": {"prefix": {"url": {"value": "http://<MY_OLD_ADDRESS>"}}}
}'
@<1526734383564722176:profile|BoredBat47> Can you please share the exact command that you are running?
@<1722061389024989184:profile|ResponsiveKoala38>
About the prefix part I think it should not matter. Just put your prefix instead of ' None .<ADDRESS>'
Hi @<1526734383564722176:profile|BoredBat47> , please try to remove the ", "case_insensitive": true" from the last line of the command that I sent to you
Should I remove "case-sensitive" option from a query?
@<1722061389024989184:profile|ResponsiveKoala38> Got following error. Sorry for a screenshot, I can't copy text from web terminal I am using right now.
@<1722061389024989184:profile|ResponsiveKoala38> Hello. What if my old fileserver address was not matching the None scheme? It was http and didn't have a domain, only ip address. Should I put my old address as it was in the replace method?
Hi @<1526734383564722176:profile|BoredBat47> , did the last update urls command work for you? I want to update our documentation
@<1526734383564722176:profile|BoredBat47> Please try running the following command
curl -XPOST -H 'Content-Type: application/json' 'localhost:9200/events-training_debug_image-*/_update_by_query?conflicts=proceed' -d'{
"script": {
"source": "ctx._source.url = ctx._source.url.replace('
.<OLD_ADDRESS>', '
.<NEW_ADDRESS>')",
"lang": "painless"
},
"query": {"prefix": {"url": {"value": "
.<OLD_ADDRESS>", "case_insensitive": true}}}
}'