作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要返回来自两个不同索引的4个独立建议者的建议。
我目前正在通过向Elasticsearch发送两个单独的请求(每个索引一个)并将结果合并到我的应用程序中来实现。显然,当Multisearch API可用时,这似乎并不理想。
通过使用Multisearch API,我可以将这些建议请求组合为一个,并可以从两个索引中正确检索所有4个完成建议的结果。
但是,它还会自动对所选索引执行match_all
查询。我当然可以通过将searchType
设置为count
来最大程度地减少此影响,但结果比两个单独的curl请求差。
看来,无论我如何尝试,都无法阻止Multisearch API对每个索引执行某种查询。
例如
{
index: 'users',
type: 'user'
},
{
suggest: {
users_suggest: {
text: term,
completion: {
size : 5,
field: 'users_suggest'
}
}
},
{
index: 'photos',
type: 'photo'
},
{
suggest: {
photos_suggest: {
text: term,
completion: {
size : 5,
field: 'photos_suggest'
}
}
}
}
{query:{}
部分,仍然执行
match_all
查询并返回索引中的所有内容。
最佳答案
设为size = 0,这样就不会返回任何匹配,而只会返回建议。
{
"size": 0,
"suggest":{}
}
关于elasticsearch - 如何仅使用建议者执行Elasticsearch Multisearch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24891441/
我是一名优秀的程序员,十分优秀!