SlideShare.netSeptember 2009SharePoint Search: Mapping Columns in SharePoint Lists To allow searching in specific document typesGeorge Catrombon<br />Contents TOC o "
h z u SUMMARY PAGEREF _Toc241928898 h 3SETUP SHAREPOINT TO PREPARE FOR THE SEARCH PROBLEM PAGEREF _Toc241928899 h 3CRAWL THE NEW CONTENT PAGEREF _Toc241928902 h 9DEMONSTRATION OF THE SEARCH PROBLEM PAGEREF _Toc241928903 h 12STATEMENT OF THE PROBLEM PAGEREF _Toc241928904 h 14THE FIX – ADD MAPPING PAGEREF _Toc241928905 h 14PERFORM A FULL CRAWL AGAIN TO CAPTURE OUR MAPPING PAGEREF _Toc241928906 h 18PERFORM THE SEARCH AGAIN PAGEREF _Toc241928907 h 18CONCLUSION PAGEREF _Toc241928909 h 19<br />SUMMARY<br />This tutorial explains how to overcome a specific problem with searching in SharePoint. The problem presents itself when a search is performed looking for:<br />A key word in a document ( Example: search for the word “wireless”) <br />Additionally specifying the type of document to search in when the types are defined in a list with a custom column. <br />The solution to this search problem is to create a mapping in SharePoint on the custom column in the list through SharePoint Shared Services search configuration. This tutorial will explain how to perform this mapping.<br />SETUP SHAREPOINT TO PREPARE FOR THE SEARCH PROBLEM<br />To recreate the problem, we need to create a custom list in SharePoint. We will name this library Document Types List as shown in Figure 1. Then, we add two line items to the list as shown in Figure 1 below by clicking New > New Item. Note that we have specified two document types: Profile and Policy. <br />Figure 1<br />Next, we need to create a document library, where the document types that are allowed to populate that library must be Profile or Procedure as denoted on our list in Figure 1. So, we create a new library named Test Search Library as per SharePoint standard practice. Refer to Figure 2 below.<br />Figure 2 – Create a library as per standard practice<br />Now we need to create a column in this library, but the value that is allowed to appear in that column must be limited to the Document Types that are on the Document Types List, specifically, those denoted in the Document Types column (E.g. Profile or Procedure). No other types are allowed.<br />To create this column, we click on Settings > Create Column as shown in Figure 3.<br />Figure 3<br />The column we specify will be created by clicking the radio button Lookup (information already on the site). Then, in the Get information from list box, we will choose our list Document Types List. Then, from the In this column drop down, select Document Type. We name the column Document Type. Refer to Figure 4 for all these settings.<br />Figure 4<br />After this, our document library will appear as in Figure 5. Note our new column named Document Type which is a lookup column. <br />Q. What do we mean by a lookup column?<br />A. When we add a document to the library, we will have to specify the type of document by means of a drop down list box bound to the column. The drop down list box will contain the values Profile and Procedure from the Document Types List. Recall that our library can only contain document types that are on that list. Our drop down list contains the only types we can pick from. We will see this action in a moment.<br />Figure 5<br />At this point, we create two files using Notepad. Each file will contain a single word “wireless”. We will save those two documents to a directory of our choice. The names of the documents are Profile.txt and Procedure.txt as shown in Figure 6. <br />Figure 6<br />Our NotePad documents (which both contain the word “wireless”) are shown in Figure 7 & 8.<br />Figure 7<br />Figure 8<br />We now add those two documents to our Library by clicking Upload > Upload Document. Browse to our notepad file Policy.txt and select it. We will then get an additional web page where we need to specify the type of document it is as shown in Figure 9.<br />Figure 9 – Note the dropdown is bound to the Document Type column in the Document Types List list. <br />The result will be a new document added as shown in Figure 10.<br />Figure 10<br />We repeat the procedure to upload Procedure.txt, but we specify that the document type is Procedure rather than Profile. Refer to Figure 11.<br />Figure 11<br />So, at this point, we have our custom list with custom column, and we have a custom library with two documents in it, one of each type from the list. Now, we need to have SharePoint crawl the new content. <br />CRAWL THE NEW CONTENT<br />To force a crawl of the content we need to use Shared Services Administration as shown in Figure 12.<br />Figure 12<br />We click on SharedServices_Content (Default) (or whatever you named yours) link from Figure 12 and the result will be as in Figure 13.<br />Figure 13<br />We then click on Search Settings as shown in Figure 13. This results in another screen as shown in Figure 14. <br />Figure 14<br />Click on Content sources and crawl Schedule as shown in Figure 14. The resulting page will be as in Figure 15. It is from this page that we force the crawls.<br />Figure 15<br />Right click on each line item as shown in Figure 16, and select Start Full Crawl. See Figure 16. Wait for the crawls to complete by refreshing the page. When crawling is in progress, the result should look like Figure 17.<br />Figure 16<br />Figure 17 – crawling in progress<br />Wait for the crawls to complete.<br />THE SEARCH PROBLEM<br />Now, we want to perform an advanced search. We do this from the Search tab on the site. Click on the Search tab and the search page will appear as in Figure 18.<br />Figure 18<br />Now, we need a very specific search to demonstrate the problem. We want to search for the word wireless, but only in the documents of type Profile. We do not want to search in documents of type Procedure. To do this, we need an advanced search. Click on Advanced Search and the result is shown in Figure 19. Enter the search as shown in Figure 19. Note that we are specifying to only search in documents of type Profile. <br />Figure 19 – only search documents of type Profile <br />When we click the search button, nothing is returned as shown in Figure 20.<br />Figure 20<br />STATEMENT OF THE PROBLEM<br />We can now define what the problem is. The SharePoint search engine is very smart to index the copy of each of our two documents. In fact, if you run a search just for the word “wireless”, our two documents will be found. However, if you have a custom column as we do specifying the document types, then SharePoint is not smart enough to index that custom column. Therefore, if you try to search with keyword wireless and specify a type of document to search in as we did in Figure 19, the search will fail. You can also try to search the Procedure type and the result will fail as well.<br />THE FIX – ADD MAPPING<br />To fix this problem, we need to add mapping to the search configuration. To add the mapping, we need to go to Shared Services as we did in Figure 13 and click on Search Settings. In the resulting page as shown in Figure 21, click on Metadata property mappings. <br />Figure 21<br />The result is Figure 22.<br />Figure 22<br />We click on New Managed Property and the result is as in Figure 23.<br />Figure 23<br />We then proceed to configure a mapping. Add the two fields as shown in Figure 24. <br />Figure 24<br />Then, click on the button Add Mapping. This will result in a dialog box as shown in Figure 25. In the Crawled Property Name text box, type ows_ and then click Find. You will then be presented with a list of columns in the site, prefaced with the string ows_. If we scroll down the list, we should see our custom column. See Figure 25<br />Figure 25 – Our custom column is on the list<br />Then, click on Allow this property to be used in all scopes. Refer to Figure 26. <br />Figure 26<br />This completes the mapping.<br />PERFORM A FULL CRAWL AGAIN TO CAPTURE OUR MAPPING<br />Perform a full crawl as you did in Figure 16. Wait until it finishes. <br />PERFORM THE SEARCH AGAIN<br />Now if you perform the search as we did in Figure 19, but use the mapping term mpDocumentType. Now we see the search is successful as shown in Figure 27.<br />NOTE: You may have to refresh your browser since the old page may be cached. <br />Figure 27<br />CONCLUSION<br />We have demonstrated the search problem with SharePoint and have shown the solution. Hopefully, readers will be able to apply this knowledge in the field.<br />END DOCUMENT<br />