elasticsearch - 自动完成弹性搜索
问题描述
我在这里跟随 elasticsearch 的完成建议的教程。这很容易上手。但是我无法完成一个以上的单词。在示例中,单个不完整的单词给出了很好的结果,例如
"Nir"
->"options":[{"text":"Nevermind Nirvana..."
"Nev"
->"options":[{"text":"Nevermind Nirvana..."
但以下失败:
"Nirvana Nev"
->Nothing!
"Nevermind Nir"
->Nothing!
我可以通过填充组合选项来使其工作,例如
curl -X PUT "localhost:9200/music/_doc/1?refresh" -H 'Content-Type: application/json' -d'
{
"suggest" : {
"input": [ "Nevermind", "Nirvana", "Nirvana Nevermind", "Nevermind Nirvana" ],
"weight" : 34
},
"title" : "Nevermind by Nirvana"
}
'
但是这种方法很快就会导致输入中添加大量文本变体。
一定会有更好的办法?
解决方案
推荐阅读
- kubernetes - Kubernetes VPA:targetref 选择器的问题 + 最少的资源
- javascript - WebExtensions - 获取全局窗口属性
- android - Android 双向数据绑定观察者调用两次
- android - Android BottomSheetDialogFragment 状态变化监听器
- php - 为子域创建 cookie
- r - 将线性模型应用于指定变量时使用映射
- python - 如何使用 Python 中的 Paramiko 库在 SFTP 上将 Pandas DataFrame 传输到 .csv?
- visual-studio-code - VS Code - 用于测试方法的带有空格的片段转换文本
- python - GDAL:Python GDAL.Translate 能否将 TIFF 文件转换为 JPEG 或 PNG 数组——而不是写入文件?
- reactjs - onClick里面