2017-06-28 2 views
0

Ich versuche, einen benutzerdefinierten intelligenten Suchindex für eine Dokumentbibliothek in SharePoint Online einzurichten. Wie wähle ich alle Dateien in einer Dokumentbibliothek aus, die indexiert werden sollen? Der ISharepointListService verfügt über eine GetListItems-Methode, der ISharePointFileService jedoch nicht.Kentico SmartSearch und sharepoint online

ex: (DataSet Ergebnisse = listService.GetListItems (Listenname);)

Ich muss durch jedes Dokument und Index den Inhalt und die Metadaten aus den Dokumentbibliothek Spalten iterieren.

Irgendwelche Ideen?

Antwort

0

Haben Sie die Verwendung der SharePoint Client-Side Object Library (CSOM) in Betracht gezogen? Es gibt eine .NET Assembly-Version, die in einem Kentico-Projekt einfach zu verwenden ist. Wenn Sie die Metadaten eines Dokumentbibliothekselements indizieren möchten, müssen Sie jedes Listenelement lesen, wie Sie es bei der GetListItems-Methode tun. Sie können Listenelemente auch mithilfe der CSOM-Bibliothek abrufen. Es gibt eine Probe, „Abrufen von Elementen aus einer Sharepoint-Liste“, hier:

https://dev.office.com/sharepoint/docs/sp-add-ins/complete-basic-operations-using-sharepoint-client-library-code

jedoch auch indizieren mag den Inhalt. Das bedeutet, dass jede Datei in einen temporären Speicherort heruntergeladen und ihr Inhalt extrahiert werden muss. Verwenden Sie die FileRef-Eigenschaft, um den Dateipfad vom CSOM-Listenelement abzurufen. Nach dem Herunterladen der Datei muss der Inhalt extrahiert werden. Ich habe das nicht versucht, aber ich würde mir die Methode SearchTextExtractorManager.ExtractData ansehen. Wenn dies funktioniert, verfügen Sie über die Metadaten aus dem SharePoint-Listenelement und über den Inhalt von ExtractData. Dann könnten Sie dem SmartSearch-Index (Lucene) ein Dokument hinzufügen.

Eine viel einfachere Lösung wäre die Verwendung eines föderierten Suchansatzes. Anstatt einen benutzerdefinierten SmartSearch-Index zu erstellen, kann die Suche durch Aufrufen der Such-API von SharePoint ausgeführt werden, und die Ergebnisse können auf derselben Suchseite neben Kentico-Ergebnissen angezeigt werden.

https://dev.office.com/sharepoint/docs/general-development/sharepoint-search-rest-api-overview

Mike

Verwandte Themen