所以,我想要做到的,是每指数定制搜索域部分匹配。 我产生match_phrase_prefix
与要搜索的值,如果超过一个字,我生成每个字一个又一个。(我可以使用prefix
,但窃听,或者已经无证设置)。
在这种情况下,我试图来查找"belden cable"
; 查询看起来是这样的:
{
"query":{
"bool":{
"should":
[
{
"indices":{
"indices":["addresss"],
"query":{
"bool":{
"should":
[
{"match_phrase_prefix":{"name":"BELDEN CABLE"}}
{"match_phrase_prefix":{"name":"BELDEN"}},
{"match_phrase_prefix":{"name":"CABLE"}}
]
}
},
"no_match_query":"none"
}
},
{
"indices":{
"indices":["customers"],
"query":{
"bool":{
"should":[
{"match_phrase_prefix":{"_all":"BELDEN CABLE"}},
{"match_phrase_prefix":{"_all":"CABLE"}},
{"match_phrase_prefix":{"_all":"BELDEN"}}
]
}
},
"no_match_query":"none"
}
}
]
}
}
我的目标搜索是获得该有结果的"belden cable"
第一,然后是搜索只是"belden"
或"cable"
。
这返回(通过实施例)4分的结果有"belden cable"
,那么仅具有一个结果"cable"
,然后的结果更"belden cable"
。
我怎样才能提高有搜索的完整价值的结果?(“百通电缆”)
我试过分开的两个词,分离词索引查询,但它给了最坏结果的相关性。
此外,我一直在使用内部升压声明试图match_phrase_prefix
为"belden cable"
没有结果的变化..