1
我有以下映射:为什么search_analyzer(关键字)不能与edgeNgram index_analyer一起使用?
analyzer:
edge_ngram_analyzer:
type: custom
tokenizer: edge_ngram
tokenizer:
edge_ngram:
type : edgeNGram
min_gram : 2
max_gram : 20
productCode:
type: string
inxed_analyzer: edge_ngram_analyzer
search_analyzer: keyword
搜索字符串是AH.20
指数分析仪的令牌:AH
,AH.
,AH.2
,AH.20
搜索仪的令牌:AH.20
查询:
{
"query": {
"bool": {
"must": [
{
"query_string": {
"default_field": "product.productCode",
"query": "AH.20"
}
}
]
}
}
}
但它什么都没有返回。映射有什么问题? PS当我不使用search_analyzer,elasticsearch返回正确的结果(我敢肯定,ES打破搜索字符串使用standard
标记者到令牌AH
,20
)
@AndreiStefan它不与搜索项查询/过滤器 {工作“查询”:{ “布尔”:{ “必须”:[{ “术语”:{ “product.productCode”: “TA.WRN.020” } } ] } } } –