Re: PAGE SUBSET SEARCHING
Philippe Vollenweider <[email protected]> Fri, 30 Nov 2007 12:17:57 +0100
| Newsgroups | gmane.comp.cms.jahia.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi,
Here are some adds:
query string = "James AND jahia.definition_name:" +
"directoryPeopleContainer";
-> will search "James" ina any field in containers "directoryPeopleContainer".
- query_string = "jahia.containerfield_" +
"directoryPeopleFirstName".toLowerCase() + ":James"
-> will search "James" only in fields directoryPeopleFirstName, in
all containers
And for other lucen constants:
jahia.field_id -> limit search to a specific field ID
jahia.jahia_id -> limit search to a specific site ID
jahia.page_id" -> limit search to a pageID
<http://jahia.id>jahia.id -> limit search to a specific container ID,
or page ID
jahia.parent_id -> limit search to a specific container list ID
jahia.containerfield_ + fieldname.toLowerCase() -> limit search to a
specific field
jahia.content_type -> limit search to a specific content type, value
can be JahiaSearchConstant.CONTAINER_TYPE,
JahiaSearchConstant.FIELD_TYPE or JahiaSearchConstant.PAGE_TYPE. When
searching for containers, jahia.content_type can be either
JahiaSearchConstant.CONTAINER_TYPE or JahiaSearchConstant.FIELD_TYPE.
jahia.acl_id -> limit search to content with a particular ACL rights
jahia.version -> the version id
jahia.workflow_state -> limit search to content in a specific staging
state where 0=versioned, 1=live, >1 = staged
jahia.language_code -> limit search to content in a specific language
jahia.definition_name -> limit search to a container with the same
definition name or to page with the same definition name.
jahia.category_id -> limit search to a specific category
Those constans are defined in class
org.jahia.services.search.JahiaSearchConstant.
I hope it can help you.
Philippe.
At 29.11.2007 06:52, you wrote:
>Content-Class: urn:content-classes:message
>Content-Type: multipart/alternative;
>boundary="----_=_NextPart_001_01C8324C.1063D36C"; x-avg-checked=avg-ok-7F555923
>
>Hi all,
>
>I hope you can assist. We have used and adapted the code mentioned
>on page 84 of the template development guide to enable page subset
>searching, however it consistently captures/searches every page
>within the site. Instead of just pages under the current
>page. The code from the PDF had to be updated to user StringBuilder
>as we were getting a number of errors. Does anyone know why this is
>capturing every page within the site and not limiting the search
>results to the pages under the existing page.
>
><http://www.jahia.net/jahia/webdav/site/jahia_net/shared/Documentation/5.0.3/Jahia5TemplateDeveloperGuide.pdf>http://www.jahia.net/jahia/webdav/site/jahia_net/shared/Documentation/5.0.3/Jahia5TemplateDeveloperGuide.pdf
>
>Many thanks in advance.
>
>Graham
>
>
>Code:
>
>
><div id="search">
> <form name="searchForm" method="post"
> action="<%=jData.gui().html().drawSearchLauncher()%>"
> onSubmit="checkMaxPageItems(document.searchForm)" >
> <p>
> <label>Search for</label>
> <input type="text" name="search"
> value='<%=JahiaTools.getStrParameter(request,"search","")%>' />
>
> <input type="hidden" name="maxPageItems" value="10" />
> <% if (advSearchLicenseEnabled){ %>
>
><a
>href="javascript:checkMaxPageItems(document.searchForm);setFreeSearchInput(document.searchForm);document.searchForm.searchView.value='advSearch';document.searchForm.submit()"><content:resourceBundle
>resourceBundle="jahiatemplates.Corporate_portal_templates"
>resourceName="search.advancedSearch" defaultValue="Advanced search" /></a>
> <% } %>
> <input type="hidden"
> name="<%=PageSearchResultBuilderImpl.ONE_HIT_BY_PAGE_PARAMETER_NAME%>"
> value="true" />
> <input type="hidden" name="searchView" value="simple" />
> <input type="hidden" name="searchHandler" value="advSearch" />
> <input type="hidden" name="freeSearch" value='' />
> <input type="hidden"
> name="<%=Search_Engine.SEARCH_REFINE_ATTRIBUTE%>" value="" />
> </p>
> <p>
> <select name="type">
> <option value="0">All</option>
> <option value="1">News</option>
> <option value="2">Resource</option>
> </select>
> </p>
> <p class="action">
> <a
> href="javascript:checkMaxPageItems(document.searchForm);setFreeSearchInput(document.searchForm);submitSimpleSearchForm();document.searchForm.submit()"><input
> type="image" src="/../images/btn_go.gif" alt="Go" /></a>
> </p>
> <%
> //get the current pageID
> ContentPage startPage =
> ContentPage.getPage(jData.page().getID());
> //get the list of child pages to construct the query
> //retain active and staged pages
> int pageInfosFlag = ContentPage.ACTIVE_PAGE_INFOS
> | ContentPage.STAGING_PAGE_INFOS;
> // SiteMapViewHelper.DISPLAY_ALL_LEVEL means that
> all subsequent children under the
> // current pageID node in the tree will be returned.
> // SiteMapViewHelper.DEFAULT_LEVEL means that
> only the immediate children under the
> // currentpageID node in the tree will be returned.
> FlatSiteMapViewHelper flatSiteMap = new
> FlatSiteMapViewHelper(jParams, jParams.getUser(),
> startPage, pageInfosFlag, jParams.getLocale().toString(),
> FlatSiteMapViewHelper.DEFAULT_LEVEL);
> //Append the pageID of selected children to the
> current query string
> StringBuilder bob = new StringBuilder();
> bob.append("(");
> for (int j = 0; j < flatSiteMap.size(); j++) {
> int pageId = flatSiteMap.getPageID(j);
> if (j > 0){
> bob.append(" OR ");
> }
> bob.append("pageid:" + pageId );
> }
> bob.append(")");
> searchQuery = bob.toString();
> %>
> <h2>Current page id: <%=
> ContentPage.getPage(jData.page().getID()) %></h2>
> <h3>search string: <%= searchQuery %></h3>
> <%
> %>
> </form>
></div>
>
>
>IMPORTANT: This e-mail, including any attachments, may contain
>private or confidential information. If you think you may not be the
>intended recipient, or if you have received this e-mail in error,
>please contact the sender immediately and delete all copies of this
>e-mail. If you are not the intended recipient, you must not
>reproduce any part of this e-mail or disclose its contents to any
>other party. This email represents the views of the individual
>sender, which do not necessarily reflect those of education.au
>limited except where the sender expressly states otherwise. It is
>your responsibility to scan this email and any files transmitted
>with it for viruses or any other defects. education.au limited will
>not be liable for any loss, damage or consequence caused directly or
>indirectly by this email.
>
>_______________________________________________
>dev_list mailing list
>[email protected]
>http://lists.jahia.org/cgi-bin/mailman/listinfo/dev_list
_______________________________________________
dev_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/dev_list