问题标签 [near-real-time]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
solr - 如何在 Solr 4.0 中启用实时搜索
我正在尝试在 Solr 4.0 中启用实时搜索(所以我可以在不提交的情况下查看新文档)。
我已经添加:
但是在提交(或softCommit)之前看不到文档。任何帮助将不胜感激。
- 我相信此功能仅在 Solr RA 中可用,但任何有关如何实现它的信息都会很棒。
谢谢, 阿夫纳
java - 有没有办法找出一天中更新/写入到 solr 索引的文档
我们有一个产品作为我们组织内各个产品团队的参考数据来源。数据已存储在 solr 索引中,我们公开了服务以向客户提供对这些数据的访问。
现在我们需要提供一种事件驱动的机制,以便客户端在服务器端发生某些事情时得到通知。
尽管我知道使用 Oracle coherence 等产品很容易实现这一点,但 solr 并不是适合此目的的正确产品。但现在我们不可能倒退并改变解决方案。
因此,为了达到这个要求,在某种程度上,我们公开了一个 RESTFul 服务,它返回特定索引中的所有文档,客户端应用程序继续访问这个 resful 服务,以便在一定数量的迭代中获取完整的数据集。
我知道这不是最好的方法,但我们可用的选项有限,因为我们不希望为此使用另一个数据存储。
作为对这种方法的改进,我们希望我们公开另一个服务,该服务将在特定时间范围内完成的插入/更新/删除返回到 solr 索引。/companyIndex/itr/15 之类的东西,它在过去 15 分钟内对公司指数进行了修改。这将帮助客户减少他们将要处理的数据量。一旦客户端从索引中获取完整的数据集,他们就可以稍后使用增量更新,这样客户端数据集将与主数据集同步。仍然会有一些滞后,但这很好。
有没有办法使用 solr/lucene 本身来实现这一点?solr 是否维护一些可以公开的审计跟踪?
虽然我们可以通过数据加载层保留这些信息,但我们想知道是否可以使用 solr 可用的东西?
有什么建议/意见吗?
node.js - Node.js+Socket.io+MongoDB webapps 是如何真正异步的?
我有一个很好的老式 LAMP webapp。一周前,我需要为其添加一个推送通知机制。
因此,我所做的是在服务器上添加 node.js+socket.io 并使用 node.js 每 10 秒轮询 MySQL 数据库以检查是否有新项目:如果有,我会将它们发送到客户端( s) 使用 socket.io。
我对结果非常满意,即使这不是一个适当的实时通知(因为最多有 10 秒的延迟)。
现在,我即将构建一个新的 web 应用程序,它也需要推送通知。我想知道是采用与第一种方法相同的方法(我相信它更稳定和成熟)还是完全采用 Node.js,而不使用 PHP 和 Apache。至于数据库,我已经决定去MongoDB了。
最后,我的问题是:如果我选择 Node.js+Socket.io+MongoDB,我会得到一个真正 接近实时的webapp 吗?我的意思是,一旦将新记录插入 MongoDB,是否会触发某种事件,我可以通过 node.js 捕获,对其进行检查,如果相关,将通知发送给客户端?还是会像我的第一个 LAMP webapp 一样,在 db 服务器端和延迟上进行某种轮询?
一个相关的问题:你能在 MySQL 上构建一个实时 webapp,而不像我第一个应用程序那样做任何轮询吗?还是您需要 MongoDB(或 Redis)?
我希望这个问题不会太傻 - 抱歉,我只是从 Node.js 和 co 开始。
谢谢。
mongodb - 实时或近实时分析应用程序设计注意事项
我正在设计和实现(近)实时网络分析引擎。这类似于Google Analytics和ChartBeat。预计每天有近 1.5 亿个请求。我们有 5 到 8 台机器,每台机器配备 2.5GHz(8 核)CPU 和 16 GB RAM。
我正在寻找满足此要求的水平可扩展解决方案。目前,我正在为此目的分析 mongo-hadoop 组合。从我到现在的理解是,很难将所有数据保存在一个地方(一台机器)进行分析。因此,Hadoop 作为数据处理器和 MongoDB 作为数据存储在我看来是一个很好的组合。
这种应用程序是否有标准或(我应该说)经过验证的架构?我应该考虑哪些设计因素?mongo-hadoop 组合对某人有用吗?
ruby - 如何流式传输(大)日志文件?
运行自动化测试时,我无法连接到测试计算机并检查日志文件以检查测试进度,因为我会中断测试。我可以通过这种方式映射硬盘并检查文件,但我想向我的 sinatra 应用程序添加新功能。
该应用程序运行测试并显示测试结果,因此我想通过 sintra 添加日志文件的实时流。日志文件甚至可能有 2MB 大,所以我想每次更新日志文件时发送整个文件并不是一个好主意,尽管服务器客户端通信将仅通过 LAN 完成 99%。我还想在 Web 浏览器顶部的日志文件中获取最新的最后一行。
有人可以建议怎么做吗?
我可以想到一个定期进行的 ajax 调用,它将传递给 sinatra 的最后一行收到的行数。如果可用,sinatra 会返回任何更新。
更新
- 视窗 7 64 位
- 红宝石 1.9.3p194 (2012-04-20) [i386-mingw32]
- 西纳特拉 (1.3.3)
- sinatra-contrib (1.3.1)
- sinatra-reloader (1.0)
web - 可用于 Web 的实时通信协议有哪些?
我最近遇到了WebSockets,我对它们带来的可能性感到震惊。我搜索了此类实时(和近实时)通信协议和技术的完整列表,例如XMPP、WebRTC ,但我找不到任何接近完整的列表。所以请帮我在这里整理清单。
更新:我正在寻找可用于网络的实时协议。
search - Lucene 近实时搜索
我想提高我的搜索系统的速度,通过使用“近实时搜索”等一些功能,加快索引的打开速度。
谁能告诉我使用以下一段或另一段代码有什么区别和优点:
和
请注意,在第一种情况下,我不需要 indexWriter 与 IndexReader 处于同一进程中。
spring - 我如何在 lucene 中使用 spring 框架
全部。
我是 lucene 的新手,我正在使用 spring-mvc (3.2.5.RELEASE) 和 lucene(4.6.0)。两者都是当前最新版本。我如何使用 NEAR REAL TIME 搜索?
我编写此代码以获取 IndexWriter (sington) 的实例
这个实用程序通过静态方法获取 DirectoryReader。
这个 bean 注入我的 spring-mvc 控制器。在“创建”方法中,我试图在创建 IndexSearcher 之前获得一个新的阅读器,但是我应该如何处理旧的阅读器?我可以直接关闭它吗?如果其他线程仍在使用旧阅读器,会发生非常糟糕的事情吗?
有什么建议么?谢谢你。
solr - Solr 与 Elasticsearch 的近实时搜索
我对 Solr 和 Elasticsearch 的近实时搜索能力感到困惑。近乎实时的搜索被认为是 Elasticsearch 相对于 Solr 的优势之一。但是,我已经阅读了 Solr 的一些文档,说通过使用软提交也可以在 Solr 上进行近实时搜索,但需要花费打开新搜索器的成本。通过这样做,新文档在 1 秒内可见。在 Elasticsearch 中,刷新还可以在一秒钟内使一个新文档可供搜索。我错过或误解了什么吗?哪一个在实时搜索方面做得更好?任何答案将不胜感激。谢谢你。
java - Xmpp 与 Websocket
我即将开发一个具有近乎实时聊天的网站。我知道它可以使用 xmpp 或 websocket 协议来实现。我也知道xmpp协议是1999年开发的,我想现在应该已经成熟了。另一方面,websocket协议是2011年开发的。
- 如果 xmpp 擅长处理实时对话,那么对 websocket 的需求是什么?
- 两种协议之间的主要区别是什么?
- 我什么时候应该选择其中一个而不是另一个?