在具有2个分片的Solr安装中,LukeRequestHandler在分片中分布的数据何时分配?我问,因为我希望能够在添加后的短时间内检测到新的(以前看不见的)动态字段 .
示例所需事件序列:
-
假设动态字段
*_s
-
查询Luke并接收动态字段列表
-
使用字段
example_s
添加文档 -
查询Luke并像以前一样接收相同的列表,但 with additional example_s in result (this currently doesn't happen)
-
example_s:*
的查询集合并匹配上面添加的文档
我知道新添加的文档甚至可以在硬件提交之前立即搜索到,但我正在寻找一种方法让这些信息也出现在Luke中 .
以下信息将非常有用:
-
Luke在请求时查询所有分片,还是只查询一个?它似乎只是随机查询一个 .
-
究竟何时知道以前看不见的动态字段会在所有分片中分布(等效地,可用于Luke)?
-
我可以为这个假定的Luke传播配置延迟/触发器,以便最小化在任意分片上添加文档和新动态字段之间的延迟,以及它在每个其他分片上的Luke响应中变得可见的时刻吗?
2 回答
决不 .
正如linked ticket上的响应所示,Luke请求处理程序的级别不足以理解多个分片 . Luke提供有关索引的信息,而不是集合,当然也不是集群 .
您需要直接查询每个分片 . 这可以通过使用精确的核心路径/ solr / collection_shard1_replica1 / admin / luke来完成