Hi Support,
I have created a large index and I am facing issue related filename search.
Below is the mapping example.
PUT split_test
{
"settings":{
"index" : {
"number_of_shards" : 1,
"number_of_replicas" : 0
},
"analysis": {
"analyzer": {
"splchar_analyzer": {
"tokenizer": "standard",
"char_filter": [
"spl_char_filter"
]
}
},
"char_filter": {
"spl_char_filter": {
"type": "pattern_replace",
"pattern": "\\.",
"replacement": " "
}
}
}
}
}
PUT split_test/_mappings
{
"properties": {
"filename": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
}
}
}
POST split_test/_doc
{
"filename":"metadata-12345.pdf"
}
POST split_test/_doc
{
"filename":"metadata.pdf"
}
I tried to replace "." with " ".
still, it's not working when I perform a search, while it shows split using analyze option.
POST split_test/_analyze
{
"analyzer": "splchar_analyzer",
"text": "metadata.pdf"
}
When performing a search using SQL query for filenames getting only one result.
There should be two results.
POST _sql?format=txt
{
"query":"""select filename from split_test WHERE QUERY('(filename:("metadata"))','default_operator=AND')"""
}
When performing a search using the below example. getting two results.
POST _sql?format=txt
{
"query":"""select filename from split_test WHERE QUERY('(filename:(metadata*))','default_operator=AND')"""
}
Actually I want to use exact match using a double quote and result should be two.
Can you please help me with that?
Thanks in advance.