Почему яблочный прожектор не находит содержимое docx?

1389
Gus Beringer

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

1
Это происходит для меня, но только для файлов, созданных или измененных с середины апреля. Gilby 6 лет назад 0
Перестроенный индекс - теперь все документы не имеют индексированного содержимого. Gilby 6 лет назад 0

2 ответа на вопрос

2
Gilby

Да, есть способ. Мой ответ основан на этой дискуссии в сообществах 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 в Терминале.

У меня есть сомнения по поводу вышесказанного. Не вся история. У меня нет проблем с документами на моем MacBook. Есть только проблема на моем рабочем столе. Gilby 6 лет назад 0
0
Alex Zelensky

Из того, что я прочитал здесь и в сообществах 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, которые я создаю и изменяю, быстро индексируются автоматически. Я не уверен, продлится ли это решение и будет ли оно переживать обновления программного обеспечения.

Это больше не работает для меня, как и удаление Microsoft Office.mdimporter. Переиндексирование все еще работает. Я также пытался отсоединить RichText.mdimporter от UTI, связанной с docx, на основе результатов [всестороннего тестирования, выполненного jafingerhut] (https://github.com/jafingerhut/osx-spotlight-test/blob/master/doc/ README-test-sequence.md), но это тоже не помогло. Alex Zelensky 5 лет назад 0
Когда используется импортер Microsoft Microsott Office, независимо от того, принудительно ли он введен в «mdimport -g» или модифицирован RichText в файле info.plist mdimporter, полнотекстовый индекс файлов docx не создается. Файлы индексируются (вывод mdls), но полнотекстовое содержимое kMDItemTextContent не создается `mdimport -d2`. Alex Zelensky 5 лет назад 0