Из документа эластичного поиска
Примечание. Все токены выводятся в одной и той же позиции и с одинаковыми смещениями символов.Это означает, например, что запрос на совпадение для john-smith_123@foo-bar.com, который использует этот анализатор, вернет документы, содержащие любой из этих токенов, даже при использовании оператора and.Кроме того, в сочетании с выделением будет выделен весь оригинальный токен, а не только соответствующее подмножество.Например, запрос указанного выше адреса электронной почты для «smith» выделил бы: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-pattern-capture-tokenfilter.html
Есть ли способ сгенерировать токен с другой позицией / смещением?
УчитываяНапример, для эластичного поиска я хочу иметь возможность поиска по com
AND john
, но, насколько я понимаю, он будет соответствовать всем письмам, содержащим com
или john
, поскольку они будут рассматриваться как одна и та же позиция..
(В моем случае я хочу сделать это для анализа кода, так же, как 2-секундный пример, который они дали)
"analysis" : {
"filter" : {
"code" : {
"type" : "pattern_capture",
"preserve_original" : true,
"patterns" : [
"(\\p{Ll}+|\\p{Lu}\\p{Ll}+|\\p{Lu}+)",
"(\\d+)"
]
}
},