我已经设置了一个 Elasticsearch 即时,创建了一个 Firebase 项目并在我的本地主机上运行手电筒。当我在默认路径(搜索/请求)中查询 Firebase 数据库时,我在 Firebase 上的数据库实例的搜索/响应路径中创建了 10 个结果。
可以请对此更有经验的人解释一下吗:
如何在 Firebase 上将结果限制更改为超过 10 个结果? (我尝试使用底部的代码修改
SearchQueue.js
,但没能成功。为什么执行查询时的搜索结果未指定索引和类型 返回弹性服务器上的条目总数,因此在 Firebase 上返回不相关的结果?
我在 firebase 上使用 postman 进行 ReST 调用 (PUT),并将 JSON 内容发送到/search/request/
此 json 内容在结果方面有效:
{ "index": "chatmessages", "type": "chat", "query": "georgebest"}
但是这个没有:
{"query": "georgebest"}
两者都返回了 Status: 200 OK
。
让我补充一点,使用 Sense 并运行相同的查询,结果是完全正确的。使用手电筒时会出现此问题。
请注意,我没有使用任何规则,并且出于测试目的,我将 Firebase 数据库保持打开状态。 如果需要任何其他信息,请告诉我。谢谢。
1 的代码 fragment ):
SearchQueue.prototype = {
_process: function(snap) {
var dat = snap.val();
var key = snap.key;
if (this._assertValidSearch(key, dat)) {
// Perform (a very simple) ElasticSearch query
var searchProps = {
index: dat.index,
type: dat.type,
//added variables
size : dat.size,
from : dat.from
};
最佳答案
看起来您遇到了错误 fixed in the 0.2.0 release .
请注意,在最新版本中,query
已被替换为 q
或 body
以与 ES 内联。 (query
现在仍然有效)
文档中现在包含一个更有用的示例 here .
{
"from" : 0,
"size" : 50,
"body": {
"query": {
"match": {
"_all": "foo"
}
}
}
}
对 sql lite 格式使用 q
也可以:
{
"from" : 0,
"size" : 50,
"q": "foo"
}
关于javascript - Elasticsearch 和 Firebase : Result limit change and weird query results,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40918041/