title: How to make Neptune Search more lenient
body: <p>I have some entries inside the graph that I am searching (e.g. <code>hello_world</code>, <code>foo_bar_baz</code>) and I want to be able to search &quot;hello&quot; and get hello_world back.</p>
  <p>Currently, I will only get a result if I search the entire string (i.e. searching <code>hello_world</code> or <code>foo_bar_baz</code>)</p>
  <p>This seems to be due to elasticsearch's standard analyzer behaviour but I don't know how to deal with this with Neptune.</p>
  <pre class="lang-py prettyprint-override"><code>with neptune_graph() as g:
    my_query = &quot; OR &quot;.join(
    f&quot;predicates.{field}.value:({query})&quot; for field in ['names', 'spaces']
    )
  
    search_results = (
    g.withSideEffect(
    &quot;Neptune#fts.endpoint&quot;, f&quot;https://{neptuneSearchURL}&quot;
    )
    .withSideEffect(&quot;Neptune#fts.queryType&quot;, &quot;query_string&quot;)
    .withSideEffect(&quot;Neptune#fts.sortOrder&quot;, &quot;DESC&quot;)
    .V()
    .hasLabel(&quot;doc&quot;)
    .has(
    &quot;*&quot;,
    f&quot;Neptune#fts entity_type:table AND ({my_query})&quot;,
    )
   )
  </code></pre>