Sunday, April 1, 2012

Enabling search for web content and Portal through SearchCenter on Portal v7.0

You use Portal Search to search for text displayed in web sites :

1) Indexing web content
Creating a content source for a site area
The WebSphere Portal search engine defines content sources that index your web content. All the child site areas and content items of the selected site area will be included in the index. Related content sources are grouped together in a search collection.
    a) Go to Administration > Search Administration > Manage Search.
    b) Select default search collection named WebContentCollection is provided by default.
    c) Click New Content Source.
    d) Select WCM site as the content source type.
    e) Enter a name in the Content Source Name field.
    f) Enter the following URL in the Collect documents linked from this URL field:
        http://hostname:port_number/seedlist/myserver?SeedlistId=library/sitearea&Source=com.ibm.workplace.wcm.plugins.seedlist.retriever.WCMRetrieverFactory&Action=GetDocuments
You will need to replace hostname, port_number, library and site area with values appropriate for your site.
   g) If the content to be indexed is secured, go to the Security tab and enter the user name and password of the user that will be used to access the secured site. You must then click Create on the search tab itself.

2) Indexing Portal Pages
Creating a content source for a portal pages
The WebSphere Portal search engine defines content sources that index your portal pages.
    a) Go to Administration > Search Administration > Manage Search.
    b) Select default search collection named PortalContent is provided by default.
    c) Click New Content Source.
    d) Select Portal site as the content source type.
    e) Enter a name in the Content Source Name field.
    f) Enter the following URL in the Collect documents linked from this URL field:
        http://hostname:port_number/seedlist/myserver?SeedlistId=page_unique_name&Source=com.ibm.lotus.search.plugins.seedlist.retriever.portal.PortalRetrieverFactory&Action=GetDocuments&Range=100
You will need to replace hostname, port_number and page_unique_name with values appropriate for your portal. In case you want to inclide all portal pages to crawl you should remove parameter SeedlistId=page_unique_name
  g) If the content to be indexed is secured, go to the Security tab and enter the user name and password of the user that will be used to access the secured site. You must then click Create on the search tab itself.

3) Configuring Web Content Manager search options - optional
 You can edit the search options to manage how the search service works
 wp_profile_root/PortalServer/wcm/shared/app/config/wcmservices

4)  Use Search Center to search for web content 
 1) To forward search result to your custom page :
   a) Create a page and assign a unique name i.e. com.search
   b) Edit page layout and place 'Search Center' portlet
   c) Export the xml access for this page and give unique id to layoutnode i.e.
<content-node action="update" active="true" allportletsallowed="true" content-parentref="Z6_CT2AMKG10OVG80ILDHHTKG0G23" create-type="explicit" domain="rel" objectid="Z6_CT2AMKG10O1OF0IDM1H33Q1001" ordinal="1000" type="page" uniquename="com.search">
                    <component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_CT2AMKG10O1OF0IDM1H33Q10G4" ordinal="100" skinref="undefined" type="control" width="undefined" uniquename="com.search.p">
                        <portletinstance action="update" domain="rel" objectid="Z5_CT2AMKG10O1OF0IDM1H33Q10G2" portletref="Z3_CGAH47L008LG50IAHUR9Q33OP6"/>
                    </component>
        </content-node>
 d) Import modified xml access
 e) Modify search.jsp in theme to point your created page i.e.
<c:if test="${! empty wp.navigationModel['com.search']}">
        <div id="themeSearchBox" dojoType="ibm.portal.search.Enhanced.widgets.ScopeSearchWidget" displayScopes="false" submitUrl="<r:url lateBinding='true' uri='searchCenter:query'><r:param name='contentNode' value='com.search'/><r:param name='layoutNode' value='com.search.p'/></r:url>" resourceBundle="<portal-fmt:out><searchmenu:resourceBundle bundleName="com.ibm.lotus.search.taglib.ScopeSearchWidget"/></portal-fmt:out>" sourceContentNode="<searchmenu:currentContentNode/>" searchFeedUrl="'<searchmenu:generateSearchFeedUrl/>'" timeStamp="<searchmenu:scopesLastUpdateTime/>"></div>
        </c:if>
f) Deploy the modified theme's jsp

2) Search anonymously
a)  Assign 'anonymous portal user' to search page and to 'Search Center' portlet
b) Make sure library/sitearea and portlet pages can also be anonymously accessible so, that Search center portlet would able to find relevant content.
c) Now, have to allow anonymous users to access the portal search collections. This is done through the WebSphere Portal Administration page. Login as the WP admin. Navigate to Administration, Access, Resource Permissions, PSE Sources. Click on the Key button next to your Search Collection.
Add Anonymous user to the User role associated with the Collection:

Product Information - http://www-10.lotus.com/ldd/portalwiki.nsf/dx/Enabling_search_for_web_content_wcm7

No comments:

Post a Comment