Это объяснение токенизатора в люцене
- Splits words at punctuation
characters, removing punctuation.
However, a dot that's not followed by
whitespace is considered part of a
token.
- Splits words at hyphens, unless
there's a number in the token, in
which case the whole token is
interpreted as a product number and
is not split.
- Recognizes email addresses and internet hostnames as one token.
Найдено здесь
это объясняет, почему это раскалывает ваше слово.
Это, наверное, самая трудная вещь, чтобы исправить, человеческая ошибка. Если индивидуальный тип в полуфинале, это теоретически не то же самое, что поиск полуфинала. Так что, если вы хотите иметь множество слов, которые можно набирать по-разному, например:
St-Constant
Святая Константа
Saint-Constant
вы застряли с задачей иметь
и святой и святой, а также дефис или не дефисен к верии. ваши токены будут огромными, и каждое слово нужно будет сравнить, чтобы увидеть, совпадают ли они.
Я все еще ищу, есть ли хороший способ приблизиться к этому, иначе, если у вас нет большого количества слов, которые вы хотите использовать, тогда сохраните и протестируйте все возможности, или сделайте цикл, который разбивает Слово начинается с первой буквы и проходит через каждую букву, разбивая строку пополам, образуя два слова, проверяя весь путь на предмет соответствия. но опять же, чей сказать, у вас есть только 2 слова. если вы проверяете более двух слов, у вас есть проблема разбить слово на несколько частей
пример
Сен-Жан-сюр-Ришелье
если я что-нибудь придумаю, я дам вам знать.