Получить элементы списка с помощью поиска pnp в Sharepoint - PullRequest
1 голос
/ 27 марта 2019

Является ли это правильным способом получения элементов списка с помощью поиска pnp в Sharepoint

 pnp.sp.search("ListName").then((r: SearchResults) => {
        console.log(r.ElapsedTime);
        console.log(r.RowCount);
        console.log(r.PrimarySearchResults);
    });

1 Ответ

0 голосов
/ 27 марта 2019

Поиск доступен непосредственно из корневого объекта sp и может принимать либо строку, представляющую текст запроса, простой объект, соответствующий интерфейсу SearchQuery, либо экземпляр SearchQueryBuilder. Первые два показаны ниже.

import pnp, { SearchQuery, SearchResults } from "sp-pnp-js";

// text search using SharePoint default values for other parameters
pnp.sp.search("test").then((r: SearchResults) => {

    console.log(r.ElapsedTime);
    console.log(r.RowCount);
    console.log(r.PrimarySearchResults);
});

// define a search query object matching the SearchQuery interface
pnp.sp.search(<SearchQuery>{
    Querytext: "test",
    RowLimit: 10,
    EnableInterleaving: true,
}).then((r: SearchResults) => {

    console.log(r.ElapsedTime);
    console.log(r.RowCount);
    console.log(r.PrimarySearchResults);
});

Поиск групп Office 365. Чтобы убедиться, что вы выполняете поиск по всем группам в Office 365, см. Приведенный ниже пример, который включает свойство "EnableDynamicGroups".

import pnp, { SearchQueryBuilder, SearchResults, SearchQuery } from "sp-pnp-js";

const _searchQuerySettings: SearchQuery = {
    TrimDuplicates: false,
    RowLimit: 500,
    SelectProperties: ["Title", "SPWebUrl", "projectID"],
    Properties: [{
      Name: "EnableDynamicGroups",
      Value: {
        BoolVal: true,
        QueryPropertyValueTypeIndex: 3
      }
    }]
}

let q = SearchQueryBuilder.create("ContentType:ProsjektInformasjon", _searchQuerySettings).rowLimit(500);

pnp.sp.search(q).then(res => { 
    console.log(res.PrimarySearchResults.length);
    console.dir(res.PrimarySearchResults)
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...