Результаты ограничения эластичного поиска

В MySQL я могу сделать что-то вроде:

  SELECT id FROM table WHERE field = 'foo' LIMIT 5

Если в таблице 10 000 строк, то этот запрос выполняется намного быстрее, чем если бы я не использовал часть LIMIT.

В ElasticSearch у меня есть следующее:

 {
    "query":{
       "fuzzy_like_this_field":{
          "body":{
             "like_text":"REALLY LONG (snip) TEXT HERE",
             "max_query_terms":1,
             "min_similarity":0.95,
             "ignore_tf":true
          }
       }
    }
 }

Когда я запускаю этот поиск, он занимает несколько секунд, тогда как mysql может возвращать результаты по тому же запросу за гораздо меньшее время.

Если я передам параметр размера (установлен в 1), он успешно вернет только 1 результат, но сам запрос не будет быстрее, чем если бы я установил неограниченный размер и вернул все результаты. Я подозреваю, что запрос выполняется полностью, и после обработки запроса возвращается только 1 результат. Это означает, что атрибут "размер" бесполезен для моих целей.

Есть ли способ остановить мой поиск, как только он найдет одну запись, которая соответствует нечеткому поиску, вместо обработки каждой записи в индексе перед возвратом ответа? Не понимаю ли я чего-то более фундаментального по этому поводу?

Заранее спасибо.

10
задан Jemaclus 29 August 2013 в 17:39
поделиться