2016-09-07 6 views
1

Я хотел бы знать, как я могу оценить рост (с увеличением размера за определенный промежуток времени) индекса API поиска приложений (FTS) на основе количества добавленные объекты и объем информации. Для этого я хотел бы знать в основном, как рассчитывается размер индекса (от чего он зависит). В частности:Google App Engine - рост индекса API поиска

  1. При вставке новых объектов рост (размер) зависит от количества предыдущих существующих объектов? (т. е. экспоненциальный рост)? Напр. если у меня 1000 объектов, и я вставляю 10, индекс будет расти с X байтами. Но если у меня есть 100000 объектов и вставка 10, будет ли она увеличиваться с X или намного больше, чем X (экспоненциально, допустим, 10 * X)?
  2. Влияет ли количество полей (свойств) на размер экспоненциально? Напр. если у меня есть объект A с 2 полями и объект B с 4 полями (допустим, идентичны по значениям, для математической простоты) будет ли размер увеличиваться при добавлении объекта B в два раза больше, чем у объекта A или намного больше?
  3. Какие еще средства можно использовать для поиска статистической информации; есть ли у меня другие инструменты в облачной консоли приложения, или я могу сделать это программно?

спасибо.

ответ

0

Вы можете проверить размер данного индекса, выполнив приведенный ниже код.

from google.appengine.api import search 

for index in search.get_indexes(fetch_schema=True): 
    logging.info("index %s", index.storage_usage) 
# pseudo code 
amount_of_items_to_add = 100 
x = 0 
for x <= amount_of_items_to_add: 
    search_api_insert_insert(data) 
    x+=1 
#rerun for loop to see how much the size increased 
for index in search.get_indexes(fetch_schema=True): 
    logging.info("index %s", index.storage_usage) 

Этот код, очевидно, не полный рабочий пример, но вы должны быть в состоянии построить простой метод, который принимает некоторые данные вставляет его в API поиска и возвращает сколько увеличился используемый для хранения.

0

Я проверил несколько тестов для разных количеств объектов и различного количества индексированных свойств для каждого объекта, и он сглаживает предполагаемый рост индекса, сообщенного api, не является экспоненциальным, он линейный. Но самым интересным фактом является то, что, хотя сообщаемый размер в реальном времени почти, после удаления документов из индекса, может потребоваться 12, 24 даже 36 часов для обновления.

Смежные вопросы