Relying on product names while searching for them (including relatedProductsNames field) is error-prone, because a product data can be modified when it's name is changed. Setting name field as unique might be a workaround solution, but the name field should be able to be changed at least for a reason of doing a typo while creating a product.