Skip to main content
added 166 characters in body
Source Link
Robert Lindgren
  • 24.5k
  • 12
  • 53
  • 79

The problem you have is because SharePoint search does not support suffix-matching (*omething), only prefix-matching (somethin*). Therefore this row will not work

keywordQueryTop.QueryText = String.Format("PublishingPageLayoutOWSURLH=\"*{0}\"", pageLayoutFullName);

Are the pages from only one site collection? Then you can use the full path http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx, PageLayoutName.

If not, it seems more difficult!

There is a crawled property named "ows_PublishingPageLayout", try mapping that one up to a new Managed Property, perform a full crawl and see what you get from that property (you can use the REST API in the browser to test it:

http://portal.com/_api/search/query?querytext='*'&selectproperties='PublishingPageLayout'

Update

Unfortunately, this property also indexes the URL, not the name:

<d:Key>PublishingPageLayout</d:Key> 
<d:Value>http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx</d:Value> 

which is not helpful for you. I find no other properties that seems to be useful, so you might be out of luck I'm afraid (if the specific Page Layout does not use a specific custom content type).

The problem you have is because SharePoint search does not support suffix-matching (*omething), only prefix-matching (somethin*). Therefore this row will not work

keywordQueryTop.QueryText = String.Format("PublishingPageLayoutOWSURLH=\"*{0}\"", pageLayoutFullName);

Are the pages from only one site collection? Then you can use the full path http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx, PageLayoutName.

If not, it seems more difficult!

There is a crawled property named "ows_PublishingPageLayout", try mapping that one up to a new Managed Property, perform a full crawl and see what you get from that property (you can use the REST API in the browser to test it:

http://portal.com/_api/search/query?querytext='*'&selectproperties='PublishingPageLayout'

Update

Unfortunately, this property also indexes the URL, not the name:

<d:Key>PublishingPageLayout</d:Key> 
<d:Value>http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx</d:Value> 

which is not helpful for you.

The problem you have is because SharePoint search does not support suffix-matching (*omething), only prefix-matching (somethin*). Therefore this row will not work

keywordQueryTop.QueryText = String.Format("PublishingPageLayoutOWSURLH=\"*{0}\"", pageLayoutFullName);

Are the pages from only one site collection? Then you can use the full path http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx, PageLayoutName.

If not, it seems more difficult!

There is a crawled property named "ows_PublishingPageLayout", try mapping that one up to a new Managed Property, perform a full crawl and see what you get from that property (you can use the REST API in the browser to test it:

http://portal.com/_api/search/query?querytext='*'&selectproperties='PublishingPageLayout'

Update

Unfortunately, this property also indexes the URL, not the name:

<d:Key>PublishingPageLayout</d:Key> 
<d:Value>http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx</d:Value> 

which is not helpful for you. I find no other properties that seems to be useful, so you might be out of luck I'm afraid (if the specific Page Layout does not use a specific custom content type).

Source Link
Robert Lindgren
  • 24.5k
  • 12
  • 53
  • 79

The problem you have is because SharePoint search does not support suffix-matching (*omething), only prefix-matching (somethin*). Therefore this row will not work

keywordQueryTop.QueryText = String.Format("PublishingPageLayoutOWSURLH=\"*{0}\"", pageLayoutFullName);

Are the pages from only one site collection? Then you can use the full path http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx, PageLayoutName.

If not, it seems more difficult!

There is a crawled property named "ows_PublishingPageLayout", try mapping that one up to a new Managed Property, perform a full crawl and see what you get from that property (you can use the REST API in the browser to test it:

http://portal.com/_api/search/query?querytext='*'&selectproperties='PublishingPageLayout'

Update

Unfortunately, this property also indexes the URL, not the name:

<d:Key>PublishingPageLayout</d:Key> 
<d:Value>http://portal.com/_catalogs/masterpage/PageLayoutFileName.aspx</d:Value> 

which is not helpful for you.