0

我们使用Spring Data Elasticsearch和地理位置分布的节点(和副本)。我们希望尽量减少跨越边界的查询流量,并让所有查询在“本地”节点上执行。无论如何要强制全球?似乎没有什么办法,迫使它除了开关一切到本机查询和投掷了我们所有的仓库中,等Elasticsearch w/Spring数据 - _local搜索首选项

回答

1

我结束了阴影修补春数据Elasticsearch的ElasticsearchTemplate类,并添加以下行:

private SearchRequestBuilder prepareSearch(Query query) { 

    //... 

    searchRequestBuilder.setPreference("_local"); 
    logger.info("----- using shadow patched ElasticsearchTemplate so queries/searches prefer local node -----"); 

    return searchRequestBuilder; 
}