Влияет ли на производительность использование фильтрации источника в elasticsearch или spring data elasticsearch? - PullRequest
0 голосов
/ 10 июля 2020

У нас документы в диапазоне 50к-100к. Мы используем интерфейс ElasticsearchOperations Spring-data-elasticsearch и метод NativeSearchQueryBuilder() s withSourceFilter(new FetchSourceFilter(includeFields, excludeFields)) для возврата только обязательных полей. Мы хотели знать, влияет ли эта фильтрация источника на производительность? Даже если мы используем простой запрос elasticsearch, который возвращает все записи, но с фильтрацией источников, будет ли затронута производительность? Или лучше все поля вернуть? мы решили не возвращать все поля, поскольку некоторые из них могут быть больше по размеру, т.е. некоторые из полей могут быть списком / массивом, содержащим тысячи элементов.

1 Ответ

1 голос
/ 10 июля 2020

Да, на самом деле неплохо исключить поля, которые вам не нужны в ответ, так как это может значительно уменьшить полосу пропускания, необходимую для передачи данных, особенно когда вам нужно вернуть большие поля.

Вы можете также следуйте этой ссылке обсуждения , чтобы получить дополнительную информацию. Обратите внимание, что это требует затрат на фильтрацию, поэтому вы можете установить параметры store:false для полей, которые вам не нужно извлекать для дальнейшего ускорения фильтрация, и это экономит ваше дисковое пространство и сокращает время индексации.

См. store для получения дополнительной информации.

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