Мне удалось обойти мою проблему, добавив поле перед выводом записей в elasticsearch.
В моем indexer.conf
, я добавил этот код:
filter {
if [request] =~ /\/$/ {
mutate {
add_field => {
'file_type' => 'html'
}
}
}
}
Теперь я могу выбрать интересующие меня записи с помощью запроса file_type: "html"
.
На самом деле это может быть лучший способ сделать это, поскольку здесь есть предупреждение об использовании подстановочных знаков в начале:
Разрешить подстановочный знак в начале слова (например, «* ing») особенно сложно, потому что все термины в индекс необходимо изучить,на всякий случай они совпадают.
Итак, я, вероятно, собираюсь добавить тесты для изображений, JavaScript, CSS и т. Д.
Какое отображение вы определили?
В зависимости от отображение, которое вы определили в поле [запрос], возможно, что косая черта '/' не хранится в индексе elasticsearch.
Если вы добавите панель терминов в кибану для поля [запрос], вы увидите полные значения запроса, или вы видите, что эти значения разделены на ключевые слова / термин?
Использование скобок вокруг .* хорошо работает для меня.
request.raw:/(.*)\//
Она возвращает мне весь url, заканчивающийся на /
.