2014-09-03 19 views
5

Czy istnieje sposób ograniczenia pola do pewnej liczby znaków podczas pobierania wyników z Elasticsearch? Wiem, jak ograniczyć wyniki do określonego zestawu pól, ale nie widzę sposobu, aby uzyskać tylko część danych. Chciałbym otrzymać tylko pierwszych 100 znaków, aby wyświetlić podgląd danych i ograniczyć operacje we/wy.Ogranicz długość pola podczas wysyłania zapytania do Elasticsearch

Widziałem, że podświetlanie daje możliwość ustawienia rozmiaru fragmentu, ale niekoniecznie szukam niczego z pola, które chcę podciąć.

+3

Nie sądzę, że jest taka funkcja es, która pozwala na określenie podłańcucha pola. Ale prawdopodobnie możesz indeksować pierwsze 100 znaków wraz z oryginalnym polem. Następnie możesz użyć filtrowania źródłowego, aby wykluczyć oryginalne pole z '_source' [ref here] (https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-source-filtering.html) . Możesz nawet całkowicie wykluczyć oryginalne pole w indeksie, [patrz tutaj] (https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html#include-exclude) – foresightyj

Odpowiedz

0

Usługa Elasticsearch nie zapewnia takiej opcji. Idealnym sposobem na osiągnięcie tego rodzaju scenariusza jest zmiana sposobu indeksowania danych i przechowywanie fragmentu wraz z polami o długiej długości. (@foresightyj dostarczył dobre linki do wykluczania/uwzględniania pól w indeksowaniu/zapytaniu)

Powiązane problemy