optimized search to allow partial keyword search