wildcard search (using * and ? from the Lucene query language) will also work on non-analyzed fields, but the behavior is different. On analyzed fields, the wildcard search is terms-based whereas non-analyzed fields have to match completely.
It’s not in this context but maybe you can explain me some other “feature”
We have a field called path where we store values like
/app/web/test.do
/TestWeb/something.do
As i understand now the field will not be analyzed and therefore it will not be lowercased …?
So my assumption is that the search schould be case sensitive.
In combination with a wildcard search i get a unexplainable situation
If i search for “path:/app/we*” i get results but if i try “/TestWeb/som*” i get no results.
If i search with the exact value “/TestWeb/something.do” i get a result.
I came here to post this issue. Wildcard searches don’t work at all with uppercase characters. There is something very wrong with the regex/search that is implemented.
Being able to loosely search is rather important in a logging app to be of utility. Or at the very least, a basic wildcard search that isn’t limited to lowercase characters!
I’ll post an example on how this doesn’t work - and it’s not a case insensitive issue:
searching data that is only lowercase works with wildcards: env:myserver*
searching data that contains any uppercase char doesn’t work: env:Myotherthing* env:myOther* env:myother* - also won’t match if value is myotherThing
In many cases you don’t have control over casing, such as when logger’s set the class name or basically any normal property. Have to resort to exact matches which makes diagnostics really difficult.
The “standard” analyzer of Elasticsearch preprocesses the message fields before indexing them. Among other things, it converts the messages to lowercase.
By default, Graylog creates an index mapping which will instruct Elasticsearch to analyze the “message”, “full_message”, and “source” fields. Other fields are not automatically analyzed.