【发布时间】:2017-09-15 06:44:59
【问题描述】:
阅读 Firebase 文档后,我了解到 NoSql 中的逻辑结构与 SQlite 中的逻辑结构完全不同。我可以使用以下命令进行基本搜索:
orderByChild()、orderByKey() 和 orderByValue() 并用
startAt()、endAt() 和 equalTo() 过滤。
我正在构建一个类似于圣经的应用程序。 app项目要求有搜索过滤器,如:
- “开始于”:例如:Exce借出
- “包含”:例如:Exchent
- “所有单词”:例如:耶稣是相同的
- 确切的短语:例如:耶稣是一样的
Firebase 实时数据库功能非常适合修复打字错误或缺少文本,一旦所有设备上的广播发生变化,这无疑是一件了不起的事情。
考虑图片:
See the structure of JSON in firebase
- 是否可以使用 Firebase 执行这些搜索过滤器?
- 使用 Firebase 自己的 API 构建这些过滤器的最佳方法是什么?
- 我是否必须对离线数据使用这些相同的过滤器?
【问题讨论】:
-
这是不可能的。我认为解决方法有限。
-
Firebase 实时数据库没有您描述的文本搜索功能。
-
是否有任何其他数据库在更改或添加数据时进行广播,在所有设备上进行更改?最好的选择是什么?
-
是的,您可以执行此类查询。但是,您必须以“NoSQL”的方式进行操作。您可以使用ElasticSearch“按下简单按钮”或制作您自己的搜索引擎。很多取决于您拥有的大量文本。有关一些提示,请参阅 this question 和 another question。也可以在代码中过滤。
标签: android sqlite firebase database nosql