Фильтрация по управляемым метаданным с помощью поиска SharePoint ведет себя по-разному в документах с обнаруженным языком zh-ca (китайский) - PullRequest
0 голосов
/ 17 октября 2019

У нас есть семейство сайтов с включенными вариантами поддержки на английском, китайском и японском языках. У каждого языка есть свой собственный сайт. У нас есть документы, назначенные с пользовательскими типами контента, которые включают поля управляемых метаданных ... одно из которых называется ReferenceType. Эти документы расположены в корне семейства сайтов и доступны через поиск для всех дочерних сайтов. При фильтрации по ReferenceType с использованием Term ID через API поиска SharePoint или в веб-части результатов поиска (с уточнениями) документы с этим ReferenceType, для которых обнаружен язык zh-ca, не возвращаются. Он отлично работает для всех других документов с обнаруженными языками ja или en, только не zh-cn.

Итак, вот пример. У нас есть семейство сайтов на home.mysite.com с 3 различными дочерними сайтами: home.mysite.com/en-us, home.mysite.com/ja-jp и home.mysite.com/zh-cn. Допустим, у нас есть 3 PDF-файла с пользовательским типом контента, MyContentType. Файлы расположены на корневом сайте home.mysite.com/documents и имеют заголовки «Брошюра о продукте на английском языке», «Брошюра о продукте на китайском» и «Брошюра о продукте на японском языке». Содержимое одного файла на английском, один на китайском и последний на японском. SharePoint установил обнаруженный язык каждого документа на соответствующий язык. MyContentType имеет столбец управляемых метаданных с именем ReferenceType, и все 3 файла имеют одно и то же значение термина, называемое «Брошюры о продукте» (идентификатор термина: c2d9f84b-742E-4b08-b1af-f817303ffea0) в этом поле. У нас есть управляемое свойство под названием owstaxIdHMReferenceType, которое отображается на свойство обхода ows_taxId_HM_ReferenceType.

Использование SearchQueryTool:
С подключением, установленным на https://home.mysite.com

Запрос : Брошюра о продукте
Возвраты : все 3 документа

Запрос : owstaxIdHMReferenceType: "Брошюры о продукте"
Возвращает все 3 документа

Запрос : owstaxIdHMReferenceType: # c2d9f84b-742E-4b08-b1af-f817303ffea0
Возвращает : 2 документа. Японский и английский. // почему это не возвращает все 3?

Запрос : owstaxIdHMReferenceType: # c2d9f84b
Возвращает : все 3 документа // это действительно странно.

Во всех тестовых случаях поле owstaxIdHMReferenceType содержит одинаковое значение для всех документов.

Мы попытались сбросить индекс, и это не помогло.

В SearchQueryTool, если мы изменим соединение на https://home.mysite.com/zh-cn и затем перезапустим
Запрос : owstaxIdHMReferenceType: # c2d9f84b-742E-4b08-b1af-f817303ffea0
Возвращает : 1 документ. Китайский

Так что это заставило нас думать, что виновником является DetectedLanguage.
Поэтому мы следовали инструкциям, приведенным в этом сообщении в блоге, чтобы повлиять на управляемые свойства language и DetectedLanguage.
https://blogs.msdn.microsoft.com/nicolasu/2014/04/17/sp2013-how-to-influence-the-language-detection-at-the-documentitem-level/

И это решает проблему. Теперь
Запрос : owstaxIdHMReferenceType: # c2d9f84b-742E-4b08-b1af-f817303ffea0
Возвращает : все 3 документа.

Мой вопрос: почему это происходит?

...