按照Firebase.com的Flashlight GitHub示例,我按照指示在Heroku上部署工作 - 但我的数据结构方式,我认为可能有更好的方法吗?
我的数据结构如下:
(root)pages
-->Firebase Unique ID
---->chat
---->content
------>Firebase Unique ID
-------->title
-------->description
-------->filter = article
---------->tags
------------tag 1
------------tag 2
我只希望弹性搜索根据匹配标签或过滤器=文章返回结果,但我从页面中得到所有内容(所有聊天,所有内容,无论是否与结果匹配,而不是来自其他页面的内容)等等......)
手电筒代码的config.js中的路径只是:
exports.paths = [
{
path: "pages",
index: "firebase",
type: "pages"
},
{
path: "event_entry",
index: "firebase",
type: "events"
}
];
我在开发方面还处于早期阶段,我可以改变数据的结构;我想过:
(root) content
-->Firebase Unique ID
---->title
---->description
---->filter = article
然后只需将Firebase唯一ID存储在某个页面对象中?
正如现在所说,我正在解析结果,以便检查标签并仅显示实际标记了我搜索的内容,这只是......丑陋......
function showResults(snap) {
if( snap.val() === null ) { return; } // wait until we get data
var dat = snap.val();
var out = '';
$.each(dat["hits"]["0"]["_source"]["content"], function(i, v) {
for(var k in v.tags)
{
if(v['tags'][k]['text'] == $scope.search)
{
out += v.title + ": " + i + "<br>";
console.log(i);
}
}
});
$("#results").text(out);
}