Drupal has a default function which called "aliases URL" to allow user to change and point URL /node/XX to /OOO (XX is node ID, OOO could be any name).
Whilst the default Drupal search is ample for most sites, we needed a search system that was faceted, wouldn’t bog down MySQL, and would work on a cluster.