in profile/benchmarking/complex.rb [84:118]
def search_documents(opts = {})
results = []
duration = with_cleanup do
slices = dataset_slices
sample_slice = slices.collect do |slice|
client.bulk(body: slice)
slice
end[rand(slices.size)-1]
sample_document = sample_slice[rand(sample_slice.size)-1][:index][:data]
search_criteria = sample_document.find { |k,v| v.is_a?(String) }
request = { body: { query: { match: { search_criteria[0] => search_criteria[1] } } } }
warmup_repetitions.times do
client.search(request)
end
Benchmark.realtime do
results = measured_repetitions.times.collect do
Benchmark.realtime do
client.search(request)
end
end
end
end
options = { duration: duration,
operation: __method__,
dataset: File.basename(DATASET_FILE),
dataset_size: ObjectSpace.memsize_of(dataset),
dataset_n_documents: dataset.length }
index_results!(results, options)
end