2

В настоящее время прожектор будет искать только заголовки файлов docx, а не их содержимое. Есть ли способ это исправить?

2 ответа2

3

Да, есть способ. Мой ответ основан на этой дискуссии в сообществах Apple. Мое резюме:

Есть два основных импортера для документов Office.

  • / Библиотека / В центре внимания / Microsoft Office.mdimporter

  • /System/Library/Spotlight/RichText.mdimporter

Оба включены в MacOS, и импортер Microsoft Office был обновлен в последних обновлениях MacOS (я проверил 10.12.4 и 10.12.5).

По умолчанию, когда Word изменяет документ, используется импортер MS. И в этом проблема! Импортер Apple работает правильно.

Вы можете видеть, что ваши документы появляются и исчезают в поиске Spotlight, выполнив следующие две команды:

$ mdimport -d1 [путь к документу]

При этом используется системный импортер по умолчанию /System/Library/Spotlight/RichText.mdimporter, и документ отображается в центре внимания.

$ mdimport -d1 -g /Library /Spotlight /Microsoft\ Office.mdimporter [путь к docx]

И документ исчезает из Spotlight.

Решения проблемы:

  1. Напишите скрипт, который вы запускаете каждый час для переиндексации любого нового .docx
  2. Удалите средство импорта Microsoft / Библиотека / Spotlight / Microsoft Office.mdimporter

Я удалил импортер Microsoft. И я должен помнить, чтобы удалить его после каждого обновления Office.

Предупреждение: если вы удалите импортер Microsoft, Spotlight больше не индексирует содержимое файлов Excel!

Обратите внимание, я не доволен этим ответом. Я скопировал импортер Microsoft Office с моего MacBook (где индексация работала правильно) на мой рабочий стол (где он не работал), и теперь все новые или измененные документы проиндексированы правильно. Оба работают 10.12.5. И то, и другое выдает ошибки несоответствия архитектуры, когда документы индексируются с помощью mdimport в Терминале.

0

Из того, что я прочитал здесь и в сообществах Apple, я понял, что проблема в том, что /Library /Spotlight /Microsoft Office.mdimporter используется для индексации файлов docx, что он не обрабатывает должным образом. Удаление импортера устраняет проблему, но нарушает индексацию старых файлов Word (.doc) и Excel. Явный вызов mdimport также имеет место, но должен выполняться каждый раз, когда файл изменяется. Я не уверен, как Spotlight решает, какой импортер использовать для обработки файлов определенных типов, но в info.plist для некорректно работающего Microsoft mdimporter я нашел упоминание о docx. Я сделал резервную копию Info.plist, удалил элемент массива, описывающий docx (…):

    <dict>
        <key>UTTypeConformsTo</key>
        <array>
            <string>public.data</string>
        </array>
        <key>UTTypeDescription</key>
        <string>Microsoft Word document</string>
        <key>UTTypeIdentifier</key>
        <string>com.microsoft.word.openxml.document</string>
        <key>UTTypeTagSpecification</key>
        <dict>
            <key>com.apple.ostype</key>
            <string>WXBN</string>
            <key>public.filename-extension</key>
            <array>
                <string>docx</string>
            </array>
            <key>public.mime-type</key>
            <string>application/vnd.openxmlformats-officedocument.wordprocessingml.document</string>
        </dict>
    </dict>

и сохранил. Тем не менее, вновь созданные или отредактированные файлы DOCX по-прежнему не были доступны для поиска в центре внимания. Я не был уверен, что сделанные мной изменения были замечены в центре внимания, поэтому я перезагрузил свой Mac, все тот же. Наконец я изменил дату изменения в mdimporter (touch /Library/Spotlight/Microsoft\ Office.mdimporter). После этого файлы docx, которые я создаю и изменяю, быстро индексируются автоматически. Я не уверен, продлится ли это решение и будет ли оно переживать обновления программного обеспечения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .