Shotnest · Библиотека
Понимайте границы совпадения подстроки
В инструменте поиска Shotnest «order» находит «preorder reference», потому что поиск ищет подстроки, а классификатор проверяет границы слов.
Поиск подстроки и границы ключевых слов
Инструмент поиска оставляет запись, если её нормализованный текст где угодно содержит нормализованный запрос, даже внутри более длинного слова. Order сидит внутри preorder, поэтому запись 1 совпадает, а запись 2, «delivery note», — нет. Классификатор строже: для латинских и кириллических ключевых слов он требует, чтобы сразу перед ключевым словом и сразу после него не было буквы. Поэтому решение о полке и попадание в поиске подчиняются разным правилам.
Поиск в приложении тоже ищет подстроку для каждого набранного слова и проверяет вторую форму текста, в которой слова, разорванные переносом строки, склеены, так что слово с дефисом в конце строки всё равно можно найти.
Нормализация выполняется до проверки подстроки, поэтому поиск cafe находит и café внутри более длинного слова.
Входные данные
- Поиск по тексту скриншотов
- order
| Строка | Текстовая запись |
|---|---|
| 1 | preorder reference |
| 2 | delivery note |
Результаты
- Совпавшие записи
- 1
| Строка | Текстовая запись |
|---|---|
| 1 | preorder reference |
Сузьте слишком широкое совпадение
- Ищите order и отметьте, что запись 1 совпадает через preorder.
- Прежде чем делать вывод, прочитайте совпавшее слово целиком.
- Добавьте характерную часть, например номер заказа: «order #4471» совпадает только с записью, где он есть.
- Откройте скриншот, чтобы увидеть контекст вокруг совпадения.
- Запрос order · записи preorder reference, delivery note
- совпавшая запись: 1
- Запрос order #4471 · с третьей записью «Order #4471 shipped»
- совпавшая запись: 3
Очень короткие запросы расползаются широко. Поиск pay находит и «Repayment schedule», и «Pay now», поэтому инструмент возвращает записи 1 и 2.
Как неверно понять попадание подстроки
- Принимать совпадение по preorder за запись о реальном заказе.
- Считать, что короткий запрос вроде «pay» находит только платежи; он находит и слова, которые его содержат.
- Ожидать, что попадание в поиске изменит полку, выбранную классификатором.
- Сдаваться, когда слово в скопированном тексте разорвано между строками, вместо того чтобы искать более короткую часть.
Совпадение — не классификация
Попадание подстроки говорит, где встречаются какие-то символы. О чём запись, оно не говорит. Найдите кандидатов с помощью инструмента поиска по ссылке ниже и прочитайте каждого.
Совпадение подстроки к тому же не учитывает, на какой строке стоят символы. Читайте на скриншоте саму совпавшую строку, а не всю запись.