elasticsearch - Elasticsearch 何时确认文档的索引?
问题描述
我将一个文档添加到我的索引中(通过使用 Java 高级客户端)。插入请求成功。但是,如果立即搜索新索引的文档,则搜索请求的响应不包括新文档。搜索请求保证在插入请求之后发生 - 但可能仅延迟几毫秒。
我的索引配置为一个分片和一个副本。不过,Elasticsearch 在单个节点上运行,因此不应该有副本(集群状态为黄色)。
Elasticsearch 在索引工作流中的什么时候向请求者响应“成功”?这会在文档实际被索引之前发生吗?
据我了解,当将新文档添加到每个(活动)节点(主节点或副本)时,Elasticsearch 应该做出响应。
哪种情况可能会导致我的并发问题?
解决方案
如果您的插入请求成功,则您的文档已编入索引,但无法立即用于搜索。
您需要等待索引的刷新,默认情况下每秒发生一次,并由设置index.refresh_interval管理
推荐阅读
- java - 如何从 Firebase 实时数据库加载随机字符串?
- kotlin - Kotlin arrow.kt - Option.getOrElse 接受 T 以外的其他类型
- google-apps-script - CalendarApp.getCalendarById(email) 为我组织中的某些人返回 null
- css - 媒体查询冲突
- c - 与 0 进行比较与与某个值进行比较是否更快?
- notifications - 使用 GetStream API,如果通知被分组,我会得到不正确的未见和未读计数
- python-3.x - 在 Flask 响应上下文中并行执行?
- python - 使用 Python 和 BeautifulSoup,有没有办法在页面的特定部分中找到“强”标签?
- c# - 处理 FieldOffsets C# C++
- html - 无法为列表元素找到正确的辅助功能角色