对于聚合结果,我的映射中有一个字段(type_name2),带有一个小写过滤器和一个关键字标记器。但是,如果我将此过滤器和标记器设置为该字段,则我的存储桶现在为空。我已设置此标记并过滤以忽略单词中的空格,如:Fun X或Viva X. 这是我的映射(在PHP中):
'cars' => array(
'properties' => array(
/**'type_name2' => array(
'type' => 'string',
'fields' => array(
'raw' => array(
'type' => 'string',
'analyzer' => 'keyword'
)
)
),**/
'type_name2' => array(
'type' => 'string',
'analyzer' => 'keyword_lower'
),
'type_kw' => array(
'type' => 'float'
),
'type_hp' => array(
'type' => 'float'
)
)
),
和自定义分析器:
'analysis' => array(
'analyzer' => array(
'keyword_lower' => array(
'tokenizer' => 'keyword',
'filter' => 'lowercase'
),
'nGram_analyzer' => array(
'type' => 'custom',
'tokenizer' => 'whitespace',
'filter' => array(
'lowercase',
'asciifolding',
'nGram_filter'
)
),
'whitespace_analyzer' => array(
'type' => 'custom',
'tokenizer' => 'whitespace',
'filter' => array(
'lowercase',
'asciifolding'
)
)
),
'filter' => array(
'nGram_filter' => array(
'type' => 'ngram',
'min_gram' => 2,
'max_gram' => 20,
'token_chars' => array(
'letter',
'digit',
'punctation',
'symbol'
)
),
)
)
但是type_name2的结果为空:
'type_name2' =>
array (size=1)
'buckets' =>
array (size=0)
empty
任何想法,有什么不对?
感谢和问候 斯蒂芬