В настоящее время я пытаюсь выполнить поиск по шаблону и соответственно отредактировал файл схемы, используя ссылку здесь , я также прочитал следующую ветку и попытался внести необходимые изменения для SOLR и запроса с использованием token(hel*o)
, но не удалось достичь желаемых результатов поиска. Следовательно, я хотел бы спросить, неверен ли мой подход к поиску по шаблону? Как я заметил, регулярные выражения можно искать с помощью tokenRegex(...)
без необходимости изменения схемы.
=== Обновление ===
DSE Version : 6.7.2
Execution code : g.V().hasLabel("person_node").has("name", "Jo*")
Schema Used
----------------
<fieldType class="org.apache.solr.schema.TextField" name="TextWildcard">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true" maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="15"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
Я хотел бы получить обычный подстановочный запрос, где * означает, что может быть много совпадений непробельных символов, например, Hel * o сможет соответствовать Hello, Heleawo или Helzzzzo.
Кроме того, он также будет работать с? где он соответствует только одному непробельному символу, например Hel? o будет соответствовать Helzo, а не Helzzzo.