Question

J'ai SharePoint Online et je souhaite ajouter du contenu externe à l'index.

Jusqu'à présent, je l'ai configuré que le contenu externe est mis dans une liste externe à l'aide de BCS.Le contenu passe à travers un service WCF.

Je sais que SP n'autorise pas le contenu externe à ajouter à l'index par défaut, donc je souhaite créer une solution personnalisée.

Des idées sur la façon d'accomplir cela?

De ce que je comprends, le contenu externe doit circuler dans la BCS et doit être placé dans une liste externe.

Mes premières pensées devaient en quelque sorte cloner la liste externe et avoir le contenu copié à une liste interne, mais cela semble juste beaucoup d'effort pour quelque chose qui devrait être plus facile.

Quelqu'un a-t-il traité cela?Faire du contenu externe interrogeable?

Y a-t-il un moyen de réaliser cela dans le nuage?Je n'ai pas la possibilité de le faire en tant que solution hybride.

Voici le code de l'application que je suis en train de construire pour y accomplir.

var siteUrl = '/Lists';

 function retrieveListItems() {

var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Wikis');

//var camlquery = new sp.camlquery();
//camlquery.set_viewxml('<view><query><where><geq><fieldref name=\'title\'/>' + 
//    '<value type=\'string\'></value></geq></where></query><rowlimit>10</rowlimit></view>');
//this.colllistitem = olist.getitems(camlquery);

clientContext.load(oList);     //(collListItem);

clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));        

}

function onQuerySucceeded(sender, args) {

var listItemInfo = '';

var listItemEnumerator = collListItem.getEnumerator();

while (listItemEnumerator.moveNext()) {
    var oListItem = listItemEnumerator.get_current();
    listItemInfo += '\nTitle: ' + oListItem.get_title() + 
        '\nAuthor: ' + oListItem.get_item('Author') + 
        '\nBody: ' + oListItem.get_item('Body');
}

alert(listItemInfo.toString());
  }

   function onQueryFailed(sender, args) {

alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}

Était-ce utile?

La solution

à la réponse de la deuxième Matt, ce que vous demandez de faire est tout simplement pas possible.

La raison pour laquelle vous ne pouvez pas indexer le contenu externe est dû au fait que Microsoft ne donne pas accès à la configuration Crawl . Cette zone de la mise en œuvre en ligne SharePoint est une boîte noire gérée par Microsoft et Microsoft seul. Ce n'est pas caché, obscurci ou désactivé "par défaut" - il n'est tout simplement pas disponible. Pour la raison pour laquelle c'est le cas, rappelez-vous que SPO est une mise en œuvre multi-locataires (complexe) de SharePoint, où dans les coulisses, plusieurs domaines sont partagés dans des déploiements uniques. Ajouter à cela le fait que la recherche de courant est l'un des processus les plus variables et les plus factuels que vous pouvez configurer dans une ferme. Ensemble, il est compréhensible pourquoi l'option n'est pas disponible (à ce moment-là).

En ce qui concerne les contours de contournement, Matt a répertorié vos seules options réelles, ainsi que de bons conseils (fédération ou contenu importation / synchronisation de contenu).

Si vous voulez des idées sur la meilleure façon d'importer ou de synchroniser des données externes sur SPO (afin que cela puisse être localement indexé), vous devez créer cela comme une nouvelle question et marquer celui-ci comme répondant.

Autres conseils

You cannot add a content source to SharePoint Online (SPO). There are techniques to "Federate Search" between On Premise and the Cloud, but that configuration is more than I can answer here.

If federation is not an option, I would suggest, now that you know this limitation, you readdress the business problem. For example, if you need to search for the "External List" you could write client code that synchronizes an actual list in SPO with your data source. Then that list will be available to search. Of course the challenge is maintaining the data in two places.

The best solution for an external search is to create a hybrid services with SharePoint 2019. Build the SharePoint 2019 standalone box, hybrid it with SP online. Then add a content source for external data sources such as local drives. If Active Directory is hybrid, you can keep permissions of the on-prem Active Directory for those local drives. Additionally, content sources for other services used by your company can be added (I.e. URLs for Servicenow, salesforce, Jira etc...). This is better solution than making a page in sharepoint with the links exposed.

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top