Rad*_*a.S 6 search full-text-search elasticsearch
我使用完成建议器自动完成..这些是我的文件
/* doc 1 */
{
Title: CineMAX: Inorbit Mall, Cyberabad
Suggest: {
input: [
CineMAX:
Inorbit
Mall
Cyberabad
CineMAX: Inorbit Mall, Cyberabad
]
output: CineMAX: Inorbit Mall, Cyberabad
payload: {
....
}
weight: 1
}
}
/* doc 2 */
{
Title: INOX: Kolkata
Suggest: {
input: [
INOX:
Kolkata
INOX: Kolkata
]
output: INOX: Kolkata
payload: {
....
}
weight: 1
}
}
Run Code Online (Sandbox Code Playgroud)
我使用完成查询如下
{
"suggestion":{
"text":"inox",
"completion":{
"field":"Suggest",
"fuzzy":{
"edit_distance":1,
"transpositions":true,
"prefix_length":1,
"min_length":4
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但在这里我得到的输出为
我想更优先考虑完全匹配..所以我想要 INOX:加尔各答在顶部..
我已经使用php explode()拆分了标题..所以我也可以匹配中间的单词..我不知道如何提高标题中的特定单词..Plz帮助我..在此先感谢
小智 1
您可以尝试运行两个完成查询,如下所示:
{
"text": "inox",
"suggestion_not_fuzzy": {
"completion": {
"field": "Suggest"
}
},
"suggestion_fuzzy": {
"completion": {
"field": "Suggest",
"fuzzy": {
"edit_distance": 1,
"transpositions": true,
"prefix_length": 1,
"min_length": 4
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后尝试从“suggestion_not_fuzzy”获取结果,如果为空则回退到“suggestion_fuzzy”
| 归档时间: |
|
| 查看次数: |
795 次 |
| 最近记录: |