@@ -504,6 +504,7 @@ def index_documents(
504
504
initial_backoff : int | None = None ,
505
505
max_backoff : int | None = None ,
506
506
use_threads : bool | int = False ,
507
+ enable_refresh_interval : bool = True ,
507
508
** kwargs : Any ,
508
509
) -> dict [str , Any ]:
509
510
"""
@@ -559,6 +560,8 @@ def index_documents(
559
560
True to enable concurrent requests, False to disable multiple threads.
560
561
If enabled os.cpu_count() will be used as the max number of threads.
561
562
If integer is provided, specified number is used.
563
+ enable_refresh_interval
564
+ True (default) to enable ``refresh_interval`` modification to ``-1`` (disabled) while indexing documents
562
565
**kwargs
563
566
KEYWORD arguments forwarded to bulk operation
564
567
elasticsearch >= 7.10.2 / opensearch: \
@@ -614,7 +617,7 @@ def index_documents(
614
617
widgets = widgets , max_value = total_documents , prefix = "Indexing: "
615
618
).start ()
616
619
for i , bulk_chunk_documents in enumerate (actions ):
617
- if i == 1 : # second bulk iteration, in case the index didn't exist before
620
+ if i == 1 and enable_refresh_interval : # second bulk iteration, in case the index didn't exist before
618
621
refresh_interval = _get_refresh_interval (client , index )
619
622
_disable_refresh_interval (client , index )
620
623
_logger .debug ("running bulk index of %s documents" , len (bulk_chunk_documents ))
@@ -655,6 +658,7 @@ def index_documents(
655
658
raise e
656
659
657
660
finally :
658
- _set_refresh_interval (client , index , refresh_interval )
661
+ if enable_refresh_interval :
662
+ _set_refresh_interval (client , index , refresh_interval )
659
663
660
664
return {"success" : success , "errors" : errors }
0 commit comments