replace dash with space (e.g: "Moshe Bar-Kochva" -> "Moshe Bar Kochva")
and combinations of those logics as well.
Another logic that I think is worth adding:
match only part of the name (e.g "שמעון סלומון יאסו" is matched if you only search for "שמעון סלומון")
Match only first or last name, but not both (e.g "יוסף אלעטאונה" can be matched with "יוסף עטאונה"). of course - this logic has to be very strict because it can match more than one individual)
I was able to reduce the no matches in the join from 10% to ~3.4%, which is better, but still not amazing.
The logic that I added:
and combinations of those logics as well.
Another logic that I think is worth adding: