Как Finder может найти этот файл с длинным именем?

Macbook Air 1,3 ГГц Intel Core i5 8 ГБ памяти DDR3 OSX Yosemite

Это из-за длинного имени, я думаю:

Hans-Jorg Oestern, Otmar Lorenz Trentz, Lorem Ipsum Lorem Сосудистые травмы – хирургия травм I (Европейское руководство по медицине).pdf

я безуспешно ищу

  • Ганс
  • Ханс-Йорг
  • Ганс пдф
  • Ханс-Йоргpdf

Нет совпадений вообще. Если сделать имя короче, то совпадение есть. Похоже, что файл не проиндексирован, поэтому поиск не работает.

запускаю команду mdls [filename]и получаю

kMDItemAuthors                 = (
    "Hans-Jo\U0308rg Oestern, Otmar"
)
kMDItemContentCreationDate     = 2015-02-11 09:37:18 +0000
kMDItemContentModificationDate = 2015-02-18 07:29:29 +0000
kMDItemContentType             = "com.adobe.pdf"
kMDItemContentTypeTree         = (
    "com.adobe.pdf",
    "public.data",
    "public.item",
    "public.composite-content",
    "public.content"
)
kMDItemDateAdded               = 2015-03-23 05:34:10 +0000
kMDItemDescription             = "ISBN-13: 978-3540123123"
kMDItemDisplayName             = "Hans-Jorg Oestern, Otmar Lorenz Trentz, Lorem Ipsum Lorem Vascular Injuries- Trauma Surgery I (European Manual of Medicine).pdf"
kMDItemEncodingApplications    = (
    "Mac OS X 10.10.2 Quartz PDFContext"
)
kMDItemFSContentChangeDate     = 2015-02-18 07:29:29 +0000
kMDItemFSCreationDate          = 2015-02-11 09:37:18 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "Hans-Jorg Oestern, Otmar Lorenz Trentz, Lorem Ipsum Lorem Vascular Injuries- Trauma Surgery I (European Manual of Medicine).pdf"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 65898547
kMDItemFSTypeCode              = ""
kMDItemKeywords                = (
    "ISBN-10: 3540881212"
)
kMDItemKind                    = "Portable Document Format (PDF)"
kMDItemLogicalSize             = 65898547
kMDItemNumberOfPages           = 435
kMDItemPageHeight              = 747.84
kMDItemPageWidth               = 547.68
kMDItemPhysicalSize            = 65900544
kMDItemSecurityMethod          = "None"
kMDItemTitle                   = "Hans-Jorg Oestern, Otmar Lorenz Trentz, Lorem Ipsum Lorem Vascular Injuries- Trauma Surgery I"
kMDItemVersion                 = "1.3"
kMDItemWhereFroms              = (
    "file:///Users/masi/Downloads/Lorem.pdf",
    ""
)

Зависимость от времени для индексации

Я запускаю тот же поиск, что и выше, во время

  • время, когда задали этот вопрос
  • через 2 недели после того как задал этот вопрос

и поиск не работал.

Я запускаю тот же поиск, что и выше, примерно через 50 дней, и поиск файла работает. Это говорит мне о том, что что-то не так с индексацией, так как то же самое местоположение файла.

Некоторые возможные факторы возникновения ошибки

  • Кварцевый движок, используемый для создания файла

Другие системы, в которых воспроизводилась ошибка

  • какой-нибудь iMac (см. ответ grgarside ниже)

Как заставить индексировать такие файлы и ускорить поиск?

Можете ли вы подтвердить, что он не отображается, если вы дважды щелкните Show all in Finderв нижней части панели прожектора. Также pdf перемещен в верхние записи в настройках прожектора.
@markhunte Да, я могу подтвердить, что он не отображается внизу панели прожектора. Файл также не отображается в полноэкранном режиме Finder. Я могу воспроизвести это. Да, pdf находится в топе, но эта ошибка не ошибка Spotlight, а более серьезная ошибка, связанная со всем поиском OSX в Finder и Spotlight.

Ответы (2)

Я пытался создать PDF-файл с таким именем на двух машинах, и обе сразу же индексировали файлы и предоставляли их при поиске по любой части имени. Мне было бы любопытно увидеть фактическое содержимое файла на случай, если содержимое каким-то образом вызывает сбой индексатора, но тогда вы говорите, что индексы в порядке с более короткими именами, поэтому из этого не следует, что содержимое является проблемой.

Что-то, что вы можете сделать, это попробовать запустить mdlsфайл. Это должно показать вам метаданные, записанные в индексе Spotlight для файла. Например, когда я запускаю его с PDF-файлом, который использовал для тестирования, я получаю следующее. Вы можете видеть здесь, что kMDItemDisplayName и kMDItemFSName оба взяты из фактического имени файла, поскольку документ представляет собой просто случайный PDF-файл о чем-то совершенно другом, который я просто переименовал).

kMDItemAuthors                 = (
    se0896
)
kMDItemContentCreationDate     = 2014-12-11 11:38:01 +0000
kMDItemContentModificationDate = 2014-12-11 11:38:01 +0000
kMDItemContentType             = "com.adobe.pdf"
kMDItemContentTypeTree         = (
    "com.adobe.pdf",
    "public.data",
    "public.item",
    "public.composite-content",
    "public.content"
)
kMDItemCreator                 = "Microsoft® Word 2010"
kMDItemDateAdded               = 2015-03-22 22:30:07 +0000
kMDItemDisplayName             = "Hans-Jorg Oestern, Otmar Lorenz Trentz, Lorem Ipsum Lorem Vascular Injuries- Trauma Surgery I (European Manual of Medicine).pdf"
kMDItemEncodingApplications    = (
    "Microsoft\U00ae Word 2010"
)
kMDItemFSContentChangeDate     = 2014-12-11 11:38:01 +0000
kMDItemFSCreationDate          = 2014-12-11 11:38:01 +0000
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = (null)
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = (null)
kMDItemFSLabel                 = 0
kMDItemFSName                  = "Hans-Jorg Oestern, Otmar Lorenz Trentz, Lorem Ipsum Lorem Vascular Injuries- Trauma Surgery I (European Manual of Medicine).pdf"
kMDItemFSNodeCount             = (null)
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 132180
kMDItemFSTypeCode              = ""
kMDItemKind                    = "Portable Document Format (PDF)"
kMDItemLogicalSize             = 132180
kMDItemNumberOfPages           = 5
kMDItemPageHeight              = 841.92
kMDItemPageWidth               = 595.32
kMDItemPhysicalSize            = 135168
kMDItemSecurityMethod          = "None"
kMDItemTitle                   = "Job Title"
kMDItemVersion                 = "1.5"

Еще одна вещь, которую вы можете попробовать, — запустить инструмент ручного импорта mdimportс опцией отладки для обеих версий файла (т. е. файл с длинным именем и еще раз с коротким именем) и проверить наличие различий в данных, которые извлекаются и импортируются в Хранилища метаданных Spotlight. Следующая команда (конечно, с правильным путем к вашему файлу) должна показать вам, какой импортер используется и какие ключи извлекаются. Это может помочь диагностировать неисправность. Это также способ заставить Spotlight проиндексировать (или переиндексировать) файл, но я не думаю, что когда-либо находил это необходимым. ПРИМЕЧАНИЕ. Самый простой способ выполнить следующую команду — ввести «mdimport -d 3», а затем перетащить файл в окно терминала.

mdimport -d 3 /Users/USERNAME/Hans-Jorg\ Oestern\,\ Otmar\ Lorenz\ Trentz\,\ Lorem\ Ipsum\ Lorem\ Vascular\ Injuries-\ Trauma\ Surgery\ I\ \(European\ Manual\ of\ Medicine\).pdf"
Спасибо за ваш ответ! Сегодня еще раз поискал в папке где файл и теперь поиск работает. Я ставил конкретное время, когда не работал поиск с файлом в теле. Проблема видимо в индексации.
хороший ответ - я бы просто уточнил часть «с правильным путем к файлу». Для того, чтобы оболочка могла интерпретировать эту команду (и пробел в более общем смысле), требуется либо “really long file name”, либо . /really\ long\ file\ name/В противном случае первый пробел интерпретируется как конец строки и завершается ошибкой (даже с префиксом /with/correct/path/).
@njboot Хороший вопрос, я обновил ответ.

Это была ошибка в Spotlight в течение очень долгого времени, и, похоже, в настоящее время нет обходного пути, кроме переименования файла в более короткое имя файла, как вы уже обнаружили.

Однако ошибка присутствует только для определенных файлов и папок и чаще появляется на определенных машинах. Это снижает вероятность того, что это ошибка. Например, я не могу воспроизвести это с максимально возможной длиной имени файла в Finder на моем MacBook Pro, но Spotlight, похоже, игнорирует один и тот же файл на моем iMac (оба с одной и той же версией OS X).

Вы можете отправить отзыв в Apple здесь:

Я подал отчет об ошибке и предоставил это обсуждение в качестве ссылки на них.