Filtered query returning zero results when edgeNGram filter is applied to index analyzer


(jamesh) #1

Hello,

I have a filtered query that returns results as expected until I enable
edgeNGram on the index analyzer.
After the edgeNGram filter is added and data re-indexed, the hits total is
zero. If I modify the query by removing everything in the "filter" node, I
start to see results again.

I'm running ElasticSearch version 0.19.8 on Ubuntu 10.10.

Do I need to construct my filtered query differently to make it play nice
with edgeNGram?
Any help would be greatly appreciated.

Here is the analyzer I am using:
analysis: {
analyzer: {
default_index: {
type: 'custom',
tokenizer: 'standard',
filter: [
'stop',
'asciifolding',
'snowball',
'lowercase',
'custom_edge_ngram'
]
},
default_search: {
type: 'custom',
tokenizer: 'standard',
filter: [
'asciifolding',
'snowball',
'lowercase'
]
}
},
filter: {
custom_edge_ngram: {
type: 'edgeNGram',
side: 'front',
min_gram: 1,
max_gram: 10
}
}
}

And the query:
{
"query":{
"filtered":{
"query":{
"query_string":{
"query":"foo"
}
},
"filter":{
"and":[
{
"or":[
{
"terms":{
"groupIds":[
"gid00001",
"gid00002"
]
}
},
{
"term":{
"userId":"uid00001"
}
}
]
}
]
}
}
},
"size":10,
"from":0
}

Thank you,
James

--


(system) #2