【发布时间】:2014-08-09 11:38:14
【问题描述】:
我想知道是否可以在移动设备(android / iphone / ios)上运行 Elasticsearch 服务器,如果可以,我应该如何去做。
在我的情况下,这样做的原因是在设备上有一个易于搜索的离线数据库(具有所有 elasticsearch 高级功能)
或者,我可能还会使用 elasticsearch 的集群/复制能力来保持设备上的离线数据与服务器同步。
【问题讨论】:
标签: elasticsearch
我想知道是否可以在移动设备(android / iphone / ios)上运行 Elasticsearch 服务器,如果可以,我应该如何去做。
在我的情况下,这样做的原因是在设备上有一个易于搜索的离线数据库(具有所有 elasticsearch 高级功能)
或者,我可能还会使用 elasticsearch 的集群/复制能力来保持设备上的离线数据与服务器同步。
【问题讨论】:
标签: elasticsearch
好吧,也许(至少在 Android 上,对于 iPhone,答案是否定的)。其他人已经讨论过,不确定是否有人成功了。 Android Dalvik 是一个 JVM,只是缺少一些移动应用程序通常不需要的东西。理论上你应该可以尝试编译 ES 并在 Android 上运行它。但是,您可能会遇到缺少 ES 所需的库和 api 的问题,因此这完全取决于您深入研究 ES 源代码以解决它们的舒适程度。
之前的讨论可能会有所帮助,您可以尝试与线程上的人联系,看看是否有人成功:
http://elasticsearch-users.115913.n3.nabble.com/ElasticSearch-HTTP-Server-on-Android-td4056423.html
【讨论】:
我还在寻找离线优先移动应用的全文搜索引擎。
我还没有开发任何东西,但我认为最简单的解决方案是使用 Clucene 库(Lucene 的 C++ 版本)而不是 ElasticSearch(基于 Lucene - Java)作为全文搜索引擎。
其实我们移动端不需要Elasticsearch的所有特性,比如webserver、restfull api等等……
您可以在 Google 上找到一些解决方法:
仍在寻找 Cordova/Phonegap 解决方案...
希望对你有帮助。
编辑:
我发现这个工具在 Javascript 中提供了离线优先功能。 它可以与 Cordova/Phone Gap 一起使用,也可以与 ReactNative 一起使用:
【讨论】:
不,你不能,至少目前还没有可以在移动设备上运行的官方版本。
【讨论】:
你不能在你的应用程序中使用常规的 ajax 调用来连接到 elasticsearch 吗?我不确定这是否是最好的方式,但这就是我的方式。
【讨论】:
【讨论】: