Weighted k nearest neighbor search I've searched quite a bit and haven't landed on any useful results.

The problem statement is:
Given a set of vectors, I wish to find its approximate k-nearest neighbors.
The caveat here is that each of my dimensions resemble a different entity and hence we cannot use the same weight for each dimension while computing the distance.
Thus, solutions like kd-tree don't work as is.

Is there any data-structure or any alternate algorithm that I can use to find such approximate weighted k-nearest neighbors.

Note: Multiplying the initial input data with their weights so as to get a uniform weight is not an option.
As per @an6u5's comment:
If you want to weight one dimension higher than others then I suggest you standardize all of your data so that the mean is zero and the standard deviation is one. Then you can multiply the less important dimensions by a factor (2-10) so that they appear farther away to the KNN distance metric and leave the most important dimension un-scaled. Note that both standardizing and scaling are completely reversible processes, so there is very little reason not to use this simple solution