basic elasticsearch implementation