Skip to Main Content

Endeca Experience Management

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

does endeca support multiple keyword search

AlexSanderSep 6 2013 — edited Sep 11 2013

Am new to endeca.

Does endeca support multiple keyword search in atg crs.

an eg can we search for "shirt,shoes" and get results for both

Comments

Pankaj.Rajankar

Yes, endeca supports multi-keywords in all the search options:

Eg: the below are some search queries with multi words.

?D=red+wine

?N=123+456

Pankaj.

AlexSander

Thanks for yur reply.

but that is just one entity right.?

red wine= red+wine.

but what i need is to get records of both shoes and shirt, when i give search as " shirt, shoes".

Michael Peel-Oracle

It depends on how complicated this logic gets, I think.  If it is a simple requirement that any single word terms separated with a comma should be treated as "term-A or term-B", then you could just check for a comma and change the match mode to "any" (instead of the default all > partial), you will then get matches for shirt and/or shoes (and if you include the NTERMS relevancy ranking module into your search interface or relevance ranking strategy, you will prioritise products that match both terms).  However, I suspect you will need to support multi-term phrases individually, so something like "dress shoes, shirt, tie, single breasted suit" and match each of those (but not match the single term of dress or suit), and in that case you will need to look at either using match mode any with phrased searches, e.g. convert your search to: "dress shoes" shirt tie "single breasted suit" , or possibly an Endeca Query Language statement (see Chapter 2 here: http://docs.oracle.com/cd/E28910_01/MDEX.622/pdf/AdvDevGuide.pdf ).

HTH

Michael

AlexSander

Thanks for yur reply.

yea i need the simple one just shoes and shirt. not complicated ones like "single breasted suit".

So can you please explain with very minute deatil how to implement that as am a fresher in endeca.

thanks  in advance.

Michael Peel-Oracle

How specifically to implement this depends on how you are querying Endeca.  With a simple URL parameter query using the UrlENEQuery object you would set the parameter of Ntx=mode+matchany, and if you were using the ENEQuery class you would set it like:

ENEQuery query = new ENEQuery();

ERecSearchList searchList = new ERecSearchList();

String matchMode = searchTerms.contains(",") ? "mode+matchany" : "mode+matchallpartial";

ERecSearch search = new ERecSearch( "your-search-interface", searchTerms, matchMode );

searchList.add( search );

query.setNavERecSearches( searchList );

If you are using the Assembler Service, you can include the Ntx parameter in the call, so you would wrap your call with some conditional logic, e.g.:

String serviceCall = null;

if( searchTerms.contains(",") ) {

   serviceCall = "assember/xml/browse?Ntt=shirt,shoes&Ntx=mode+matchany";

} else {

  serviceCall = "assember/xml/browse?Ntt=shirt,shoes&Ntx=mode+matchallpartial";

}

If you are using the Content Assembler API within your application, it will depend on how you are invoking it but some of the above should help you customise appropriately.

HTH

Michael

AlexSander

Thanks for yur reply.

I havent touched the query part of endeca,

i thought we could implement it using experience manager.

since i dont have any knowledge about the back end part of endeca am not able to get yur point.

could you please explain all the steps in detail.

Thanks in advance.

1 - 6
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Oct 9 2013
Added on Sep 6 2013
6 comments
917 views