<?xml version="1.0" encoding="utf-8"?> 
<rss version="2.0"
  xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
  xmlns:atom="http://www.w3.org/2005/Atom">

<channel>

<title>Альберт Эйнштейнов: заметки с тегом elasticsearch</title>
<link>http://depperte.ru/blog/tags/elasticsearch/</link>
<description>Альберт Эйнштейнов</description>
<author></author>
<language>ru</language>
<generator>Aegea 11.3 (v4134)</generator>

<itunes:subtitle>Альберт Эйнштейнов</itunes:subtitle>
<itunes:image href="" />
<itunes:explicit></itunes:explicit>

<item>
<title>Использование полей с экранируемыми символами в Elasticsearch</title>
<guid isPermaLink="false">42</guid>
<link>http://depperte.ru/blog/all/ispolzovanie-poley-s-ekraniruemymi-simvolami-v-elasticsearch/</link>
<pubDate>Wed, 22 Nov 2017 09:50:10 +0500</pubDate>
<author></author>
<comments>http://depperte.ru/blog/all/ispolzovanie-poley-s-ekraniruemymi-simvolami-v-elasticsearch/</comments>
<description>
&lt;p&gt;Если в наименовании полей индекса используются экранируемые символы, например, такие как ’:’, то при обращении к ним напрямую Elasticsearch вернет ошибку.&lt;/p&gt;
&lt;p&gt;Вот такое обращение:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;...
ctx._source.petrel:ProjectName = ...
...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;вызовет ошибку с сообщением типа:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;&amp;quot;unexpected token&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Для преодоления такого поведения нужно обратиться к полю через специальную переменную &lt;i&gt;_source&lt;/i&gt; и передать наименование поля:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;_source[&amp;#039;petrel:ProjectName&amp;#039;]&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Во пример запроса на обновление текстового поля с условием:&lt;/p&gt;
&lt;pre class="e2-text-code"&gt;&lt;code class=""&gt;POST petrel/_update_by_query
{
  &amp;quot;query&amp;quot;: {
    &amp;quot;match_phrase&amp;quot;: {
      &amp;quot;petrel:ProjectName&amp;quot;: &amp;quot;Талахский гоизонт&amp;quot;
    }
  },
  &amp;quot;size&amp;quot;: 10000,
  &amp;quot;script&amp;quot;: {
    &amp;quot;source&amp;quot;: &amp;quot;ctx._source[&amp;#039;petrel:ProjectName&amp;#039;] = &amp;#039;Талахский горизонт&amp;#039;&amp;quot;
  }
}&lt;/code&gt;&lt;/pre&gt;</description>
</item>


</channel>
</rss>