And here is some of what the MarkLogic Search Developer's Guide says about 
facets:



Constrained Searches and Faceted Navigation

The Search API makes it easy to constrain your searches to a subset of the 
content. For example, you can create a search that only returns results for 
documents with titles that include the word hello, or you can create a search 
that constrains the results to a particular decade. Furthermore, the Search API 
makes it easy to express these kinds of searches in a simple query text string. 
For example, you can write a query such that the following query text 
represents a search that constrains to a particular decade:

    decade:2000s


These types of searches are useful in creating facets, which allow a user to 
drill down by narrowing the search criteria. Facets also typically have counts 
of the number of results that match, and the Search API returns these counts to 
use in facets. The following is an example of a facet in an end-user 
application:

<picture of the decade facets from the Oscars sample app goes here.../>


Users can click on any of the links to narrow the results of the search by 
decade. For example, the query generated by clicking the top link contains the 
string decade:2000s, and constrains the search to that decade.

The facet also includes counts for each constraint value. The number to the 
right of the link represents the number of search results returned if you 
constrain it to that decade.

The Search API returns XML in its response that contains all of the information 
to create a facet like the above example. The facets returned from the Search 
API include the counts and values needed to generate the user interface. For 
example, the following XML, returned from the Search API, was used to create 
the above facet:

    <search:response total="2370" start="1" page-length="10"
       xmlns:search="http://marklogic.com/appservices/search";>
      <search:facet name="decade">
        <search:facet-value name="2000s" count="240">
         2000s</search:facet-value>
        <search:facet-value name="1990s" count="300">
         1990s</search:facet-value>
        <search:facet-value name="1980s" count="300">
         1980s</search:facet-value>
        <search:facet-value name="1970s" count="300">
         1970s</search:facet-value>
        <search:facet-value name="1960s" count="299">
         1960s</search:facet-value>
        <search:facet-value name="1950s" count="300">
         1950s</search:facet-value>
        <search:facet-value name="1940s" count="324">
         1940s</search:facet-value>
        <search:facet-value name="1930s" count="245">
         1930s</search:facet-value>
        <search:facet-value name="1920s" count="61">
         1920s</search:facet-value>
      </search:facet>
    </search:response>

The counts and values in the response are also filtered by any other active 
query in the search, so they represent the counts for that particular search. 
There are many kinds of constraints and facets you can build with the Search 
API. For more details about constraints, see Constraint Options.


-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of Geert Josten
Sent: Friday, April 23, 2010 9:42 AM
To: General Mark Logic Developer Discussion
Subject: RE: Whats a "facet" ? was RE: [MarkLogic Dev General] Search API 

Hi David,

The term facet comes from 'faceted searching', and has not so much to do with 
XML Schema (though it sounds like the definition you mention could be 
applicable here). There is a short description on wikipedia that might make a 
little more sense: http://en.wikipedia.org/wiki/Faceted_search

It is easier to explain by example though. Just look at http://markmail.com/. 
When you enter any search term, it will calculate for each specific searchable 
field which values occur within the *current* result set, how many times they 
occur, and present the top most options of all of those as links to easily 
refine your search. In markmail you can easily refine your search by just 
clicking one of the email addresses, selecting a time frame, etc. Such fields 
are called facets.

Note again that the main characteristic of such a facet is, that the shown 
values match those available in the current search results, not those within 
the total set of documents. That makes this faceted searching so interesting..

Kind regards,
Geert

>


drs. G.P.H. (Geert) Josten
Consultant


Daidalos BV
Hoekeindsehof 1-4
2665 JZ Bleiswijk

T +31 (0)10 850 1200
F +31 (0)10 850 1199

mailto:[email protected]
http://www.daidalos.nl/

KvK 27164984

P Please consider the environment before printing this mail.
De informatie - verzonden in of met dit e-mailbericht - is afkomstig van 
Daidalos BV en is uitsluitend bestemd voor de geadresseerde. Indien u dit 
bericht onbedoeld hebt ontvangen, verzoeken wij u het te verwijderen. Aan dit 
bericht kunnen geen rechten worden ontleend.

> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Lee, David
> Sent: vrijdag 23 april 2010 18:17
> To: General Mark Logic Developer Discussion;
> [email protected]
> Subject: Whats a "facet" ? was RE: [MarkLogic Dev General] Search API
>
> I've read this a lot in this group, the term "facet".
> I think I know what a facet is in terms of xmlschema
>
> http://www.w3.org/TR/xmlschema-2/#facets
>
> "[Definition:]  A facet is a single defining aspect of a
> *value space*.
> Generally speaking, each facet characterizes a *value space*
> along independent axes or dimensions."
>
> But when used in terms of MarkLogic does it have a different meaning ?
> If so where can I go to learn about it.
>
> Thanks for any advise.
>
> -David
>
>
>
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of
> Pradeep Maddireddy
> Sent: Friday, April 23, 2010 12:09 PM
> To: General Mark Logic Developer Discussion;
> [email protected]
> Subject: Re: [MarkLogic Dev General] Search API
>
> Hi Collen,
>
>  Sorry to bother you again.
>
> <book>
> <title>Book Title</title>
> <chapter>
> <title>Chapter Title</title>
> </chapter>
> </book>
>
> As you suggested for my previous mail I created a Database
> Field  which includes book and excludes chapter to be able to
> search on Book title alone and to exclude Chapter title for
> the search API. I also needed a Facet on booktitle, looks
> like I may have to change the XMl structure or else include a
> namespace. Could you Please confirm.
>
> Thanks
> Pradeep Maddireddy
>
> On 4/23/10, Colleen Whitney <[email protected]> wrote:
> > Pradeep, range indexes are required for facets in the
> search API, for
> > performance and scalability.
> >
> > --Colleen
> > ________________________________________
> > From: [email protected]
> > [[email protected]] On Behalf Of Pradeep
> Maddireddy
> > [[email protected]]
> > Sent: Friday, April 23, 2010 8:03 AM
> > To: General
> > Subject: [MarkLogic Dev General] Search API
> >
> > Hi...!
> >
> >   If the search API has to return facets, is it mandatory
> to build a
> > range index for that element. Is it possible for the search
> API to use
> > a Database field or XPath instead of a simple element and return
> > facets for the Database field or XPath.
> >
> > Thanks
> > Pradeep Maddireddy
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://xqzone.com/mailman/listinfo/general
> > _______________________________________________
> > General mailing list
> > [email protected]
> > http://xqzone.com/mailman/listinfo/general
> >
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to