I have one shard per index - index size is ~1GB.
mappings:
{
"settings": {
"index" : {
"number_of_shards" : 1,
"refresh_interval" : "10s"
}
},
"mappings": {
"properties": {
"Description": {
"type": "object",
"enabled": false
},
"TranslatedDescriptions": {
"type": "object",
"enabled": false
},
"Photos": {
"type": "object",
"enabled": false
},
"AdInfo": {
"properties": {
"Featured": {
"type": "boolean"
},
"FeaturedPremium": {
"type": "boolean"
}
}
},
"Address": {
"type": "keyword"
},
"ShowAddress": {
"type": "keyword"
},
"GeoInfo": {
"type": "keyword"
},
"AgentRef": {
"type": "keyword"
},
"AirConditioning": {
"type": "boolean"
},
"Bathrooms": {
"type": "short"
},
"Bedrooms": {
"type": "short"
},
"Toilets": {
"type": "short"
},
"Build": {
"type": "integer"
},
"Garage": {
"type": "boolean"
},
"GroupType": {
"properties": {
"Id": {
"type": "short"
},
"Term": {
"type": "keyword"
}
}
},
"Id": {
"type": "integer"
},
"IsPublic": {
"type": "boolean"
},
"Latitude": {
"type": "float"
},
"Login": {
"type": "keyword"
},
"LoginLower": {
"type": "keyword"
},
"LoginRelevance": {
"properties": {
"ForHolidays": {
"type": "long"
},
"ForRent": {
"type": "long"
},
"ForSale": {
"type": "long"
}
}
},
"Relevance": {
"properties": {
"EN": {
"type": "float"
},
"ES": {
"type": "float"
},
"DE": {
"type": "float"
},
"PL": {
"type": "float"
},
"FR": {
"type": "float"
},
"IT": {
"type": "float"
},
"NL": {
"type": "float"
}
}
},
"Longitude": {
"type": "float"
},
"NormalizedPriceInEuro": {
"type": "integer"
},
"DistanceToTown": {
"type": "float"
},
"DistanceToAirport": {
"type": "float"
},
"DistanceToMarina": {
"type": "float"
},
"DistanceToBeach": {
"type": "float"
},
"DistanceToCountry": {
"type": "float"
},
"DistanceToGolf": {
"type": "float"
},
"OfferType": {
"properties": {
"Id": {
"type": "short"
},
"Name": {
"type": "keyword"
},
"Term": {
"type": "keyword"
}
}
},
"Plot": {
"type": "integer"
},
"PriceHistory": {
"properties": {
"Currency": {
"type": "keyword"
},
"DaysAgo": {
"type": "integer"
},
"Price": {
"type": "integer"
}
}
},
"PriceInEuro": {
"type": "integer"
},
"PriceInPounds": {
"type": "integer"
},
"Province": {
"properties": {
"Active": {
"type": "boolean"
},
"DisplayLocationType": {
"type": "boolean"
},
"Id": {
"type": "short"
},
"IsIsland": {
"type": "boolean"
},
"Labels": {
"type": "object",
"enabled": false
},
"RegionId": {
"type": "short"
},
"SameAsRegion": {
"type": "boolean"
}
}
},
"Region": {
"properties": {
"Active": {
"type": "boolean"
},
"DisplayLocationType": {
"type": "boolean"
},
"Id": {
"type": "short"
},
"Labels": {
"type": "object",
"enabled": false
},
"SameAsProvince": {
"type": "boolean"
},
"slug": {
"type": "keyword"
}
}
},
"SwimmingPool": {
"type": "boolean"
},
"Town": {
"properties": {
"CoastId": {
"type": "short"
},
"DisplayLocationType": {
"type": "boolean"
},
"Id": {
"type": "short"
},
"Labels": {
"type": "object",
"enabled": false
},
"Latitude": {
"type": "float"
},
"Longitude": {
"type": "float"
},
"ProvinceId": {
"type": "short"
},
"Location": {
"type": "geo_point"
},
"RegionId": {
"type": "short"
},
"SameAsProvince": {
"type": "boolean"
},
"SlugName": {
"type": "keyword"
},
"Type": {
"type": "keyword"
}
}
},
"Type": {
"properties": {
"English": {
"type": "keyword"
},
"GroupId": {
"type": "short"
},
"Id": {
"type": "short"
},
"SameAsGroup": {
"type": "boolean"
}
"Term": {
"type": "keyword"
}
}
}
}
}
}
`
Aggregations are usually by Town.Id (~5000 distinct values), Province.Id (around 50 distinct values), Region.Id (around 20 different values), SwimmingPool (true/false), Garage (true/false), Type (10 distinct values). Like most of property searches.