Поиск доступен непосредственно из корневого объекта 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)
});