Are you using Experience Manager ? If so then look at the Search - AutoSuggest Panel. Otherwise you can still look at DimensionSearch related documentation in BasicDevGuide. The filtering based on available inventory is something that you have to implement as a custom option AFAIK.
Let me know if you need any specific information around implementation.
If you are using presentation API then as Nagarajan said, you can use Endeca Dimension Search to power your TypeAhead/Predictive search. Below are a few pointers that may help.
- Trigger typeahead only after user enters a few characters (ideally after 2-3 characters).
- Introduce a delay of a few milliseconds between your Endeca Searches.
- Limit the Dimensions to include using the Di parameter.
- Control the number of dimVals returned and other Dimension behavior using Drc and Dp
- Use Drc (to evaluate InStock products) in a seperate query with D=* to get a list of all valid DimVal IDs. Cache them and use this list to remove any out of stock dimVal IDs from the real query results.
- Use Dk and Dx to control match mode and your relevance ranking strategy to sort your results.
Oracle Commerce Services also offers a prepackaged service called Endeca Predictive Search (EPS) module that can be quickly implemented to power TypeAhead. EPS provides other configurable features like caching, record search, frequent matches ,etc. Reach out to your Oracle representative if that intersts you.
All the best! I hope this helps.
P.S. Google limits the search result to 4 which, works for them and might work for you but to exploit the full potential of Predictive Search based on Endeca, try HomeDepot.com, Staples.com, etc. for inspiration.
Thanks for your help, we don't use Experience Manager. So I'll have to implement in the java code itself. The way we query endeca is that we create ENE query in java & based on that we get the Results from Endeca Index.My question is the following, if we have 9-10 dimensions e.g. stock Type (New, Used, recertified), Color (Black, blue, Red) & Product Names (Refrigerator, TV, Microware etc.) etc. How can I implement the type ahead. To be more specific I know How to get the available dimensions but that's all. what should I look into next?
you need to investigate the queryResults and process the DimensionSearchResults object returned by ENEQueryResults' getDimensionSearch() method.
Check the misc_dimsearch_results.jsp in the orange reference application for inspiration. Also check the API Javadocs.
P.S. you will also need an AJAX library like BootStrap, JQuery UI, YUI etc. to build the realtime search UX.