Architecture :: Advanced Search Of Product Catalog
Nov 21, 2010
I am wondering if there are any good articles you could point me to that would present the implementation details or options for delivering advanced search capabilities. Like what we see at [url] and similar Web sites offering vast numbers of products to be searched. The search process for these starts with a simple "Search" text box - usually with auto-suggest. Then the user can drill down and narrow the search by [for example] price, manufacture, size, capacity, and other relevant attributes of the product being searched.
When I navigate such sites and search for products, drilling down into the various categories, it's easy to think that there is some complex engine behind the scenes that generates dynamic SQL to satisfy the various and potentially extensive criterion required to satisfy the search requests.
Or could it be simpler than that? In any case, I understand this question may not have a specific answer; so I'm hoping for some article or reference implementation I could study. Short of that, if any of you have implemented advanced search of a product catalog (presumably searching products stored in a reasonably normalized database; through 3NF or so); any critical implementation considerations would be appreciated. I'm particularly interested in the meta data that may have to be present in the underlying data set in order to satisfy some of the search requests.
View 2 Replies
Similar Messages:
Jul 6, 2010
i m developing a product Catalog. All fine, i want to manage wish list for product, which user wish to see, now my question is that how can i manage this wish list, coz i have no uniqueness of the user, coz ny one whether it is registerd or not can wish the product in my scope, i thought to distinguish the user by their IP address becoz this wish list is temporaray, how can i delete the record when user close the browser if go to the IP address for distinguish..
View 2 Replies
Apr 20, 2010
I am building UI for a large product catalog (millions of products).
I am using Sql Server, FreeText search and ASP.NET MVC.
Tables are normalized and indexed. Most queries take less then a second to return.
The issue is this. Let's say user does the search by keyword. On search results page I need to display/query for:
Display 20 matching products on first page(paged, sorted)
Total count of matching products for paging
List of stores only of all matching products
List of brands only of all matching products
List of colors only of all matching products
Each query takes about .5 to 1 seconds. Altogether it is like 5 seconds.
I would like to get the whole page to load under 1 second. There are several approaches:
Optimize queries even more. I already spent a lot of time on this one, so not sure it can be pushed further.Load products first, then load the rest of the information using AJAX. More like a workaround. Will need to revise UI.Re-organize data to be more Report friendly. Already aggregated a lot of fields.
I checked out several similar sites. For ex. [URL]. Not only they display the same information as I would like in under 1 second, but they also include statistics (number of results in each category).
The following is the search for keyword "white" [URL] How do sites like zappos, amazon make their results, filters and stats appear almost instantly?
View 3 Replies
Jun 29, 2010
Is there any good code (paid or open source) out there for:Handling PPC ads on our site? This would (hopefully) include pages to create ads, reports of ads run, determining what ad to show, and tracking billing.Adding comments to our site? This would (hopefully) include up/down/inappropiate votes on other's comments.A product catalog? This would (hopefully) include advanced search and entering product items.
View 1 Replies
Feb 28, 2011
I'm looking for a way to add 3 level product catalog to cart based on MVC musicstore sample:
root product categories
sub categories
products
Clicking in catalog item should show subitems with pictures.
Control is placed to Site.Master. It can be treeview in cart left side or horizontal menu in upper part of screen.
Data is read from database from controller.
How to implement this ? Which free control is best for this or is there sample code for this ?
View 23 Replies
Nov 26, 2010
how to do a search using a Full Text Search Catalog. I would also like to have the results on the page highlighted?
View 1 Replies
Aug 14, 2010
I'm working on a asp.net forms web application where I've got advanced search form with grid listing results below. Grid is sortable and pageable. Grid is listing products.
I've got two requirements :
1) make the url remember the advanced search form state so search results page can be bookmarked etc.
2) on the product details page there is a back button that should take the user to the advanced search page with the same settings in the form and same grid state.
I have implemented a workaround to above two problems but I don't think my solution is very clean and I'd like to hear better ideas. My workaround is as follows :
1) I iterate through form fields and I put values into the querystring after the hash. So when the page is loaded it gets the values from url if available.
2) when user clicks a link to product details page from the grid I use javascript to create a cookie with url to advanced search page so when rendering the product details page I know the url for the back button.
View 1 Replies
Feb 16, 2010
I want to be able to make a query from three dropdownlists but not all three have to be selected to create results. This is what I have so far :
sub getdata (src as object, e as eventargs)
dim strsql as string
dim myconnection as oledbconnection
dim mycommand as oledbcommand
myconnection = new oledbconnection(ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_csrdb"))
strsql ="SELECT tbl_case.Case_id, tbl_case.Title, tbl_case.Description, Tbl_Country.Country_Name, tbl_principle.Principle_Name," _
& "tbl_keyword.Keyword FROM tbl_keyword INNER JOIN ((tbl_principle INNER JOIN (Tbl_Country INNER JOIN tbl_case ON Tbl_Country.Country_Id
tbl_case.country) ON tbl_principle.Principle_ID = tbl_case.Principle) INNER JOIN tbl_Usedkeywords ON tbl_case.Case_id
= tbl_Usedkeywords.case) ON tbl_keyword.Keyword_id = tbl_Usedkeywords.keyword " _
& "WHERE "
if DLPrinciple.selectedindex=0 then
strsql = strsql & "((tbl_principle.Principle_Name) like '%')"
else
if DLCountry.Selectedindex=0 then
strsql = strsql & "((tbl_country.country_Name) like '%')"
else
if DLKeyword.selectedindex=0 then
strsql = strsql & "((tbl_keyword.Keyword) like '%')"
else
strsql = strsql & "((tbl_principle.principle_Name) = '" & session("infoprinciple") & "')" + "((tbl_country.country_Name) = '" & session("infoland") & "')" + "((tbl_keyword.keyword) = '" & session("infokeyword") & "')"
end if
end if
end if
This is working perfectly with only one dropdownlist but I can not figure out how to make it work with several.
View 14 Replies
Dec 22, 2010
I am going to create the SAAS (Software as a service) Application. Can you please provide all the attributes that we have to consider in SAAS application (for example usability, pluggable architecture etc .. )
How architecture should be build for this project, provide sample architecture for SAAS application. This architecture should be easy to upload and upgrade or degrade the features. Error handling should be easy.
View 2 Replies
Mar 29, 2010
I am tring to build a page with advanced search options. Here is my code am I on the right path. What I wnat this to do is if you put something in any one of the textboxes it will filter by that column.
<%@ Page language="C#" masterpagefile="MainContent.master" title="Electrical Storage" EnableEventValidation="false" %>
<asp:Content id="Content1" runat="server" contentplaceholderid="Content">
<div id="Rightside">
<h2>Search Electrical Storage
</h2>
<li><a href="EStorageResultsAll.aspx">View All Files</a></li>
<li>Specify Projects to View</li>
<form>
<table style="width: 500px">
<tr><td></td>
<td>Company ID</td>
<td><asp:TextBox runat="server" id="CoID" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td>Project Class</td>
<td><asp:TextBox runat="server" id="ProjClass" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td>Project</td>
<td><asp:TextBox runat="server" id="Proj" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td>File Name</td>
<td><asp:TextBox runat="server" id="FileName" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td>File Number</td>
<td><asp:TextBox runat="server" id="FileNumber" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td>File Additional Info</td>
<td><asp:TextBox runat="server" id="FileAdd" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td>Box Number</td>
<td><asp:TextBox runat="server" id="BoxNumber" Width="200px"></asp:TextBox></td>
</tr>
<tr><td></td>
<td><asp:Button runat="server" Text="Search" id="Button1"></asp:Button></td>
<td></td>
</tr>
</table>
<hr />
<asp:GridView id="GridView1" runat="server" AutoGenerateColumns="False" BackColor="#CCCCCC" BorderColor="#999999" BorderStyle="Solid" BorderWidth="3px" CellPadding="4" CellSpacing="2" DataSourceID="AccessDataSource1" ForeColor="Black" Width="820px" AllowSorting="True">
<RowStyle BackColor="White" />
<Columns>
<asp:boundfield DataField="CoID" HeaderText="Co ID" SortExpression="CoID">
</asp:boundfield>
<asp:boundfield DataField="ProjClass" HeaderText="Project Class" SortExpression="ProjClass">
</asp:boundfield>
<asp:boundfield DataField="Project" HeaderText="Project" SortExpression="Project">
</asp:boundfield>
<asp:boundfield DataField="FileName" HeaderText="File Name" SortExpression="FileName">
</asp:boundfield>
<asp:boundfield DataField="FileAddInfo" HeaderText="File Add Info" SortExpression="FileAddInfo">
</asp:boundfield>
<asp:boundfield DataField="FileNumber" HeaderText="File Number" SortExpression="FileNumber">
</asp:boundfield>
<asp:boundfield DataField="BoxNumber" HeaderText="Box Number" SortExpression="BoxNumber">
</asp:boundfield>
<asp:boundfield DataField="Location" HeaderText="Location" SortExpression="Location">
</asp:boundfield>
</Columns>
<FooterStyle BackColor="#CCCCCC" />
<PagerStyle BackColor="#CCCCCC" ForeColor="Black" HorizontalAlign="Left" />
<SelectedRowStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#000066" Font-Bold="True" ForeColor="White" />
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="\Elec1DATABASEStorageElectricalFilesBook.mdb" SelectCommand="SELECT [CoID], [ProjClass], [Project], [FileName], [FileAddInfo],
[FileNumber], [BoxNumber], [Location] FROM [FilesWithLocation] WHERE (([CoID] LIKE '%' + ? + '%') OR ([ProjClass] LIKE '%' + ? + '%') OR ([Project] LIKE '%' + ? + '%') OR ([FileName] LIKE '%' + ? + '%') OR ([FileAddInfo] LIKE '%' + ? + '%') OR ([FileNumber]
LIKE '%' + ? + '%') OR ([BoxNumber] LIKE '%' + ? + '%'))">
<SelectParameters>
<asp:controlparameter ControlID="CoID" Name="CoID" PropertyName="Text" Type="String" />
<asp:controlparameter ControlID="ProjClass" Name="ProjClass" PropertyName="Text" Type="String" />
<asp:controlparameter ControlID="Proj" Name="Project" PropertyName="Text" Type="String" />
<asp:controlparameter ControlID="FileName" Name="FileName" PropertyName="Text" Type="String" />
<asp:controlparameter ControlID="FileAdd" Name="FileAddInfo" PropertyName="Text" Type="String" />
<asp:controlparameter ControlID="FileNumber" Name="FileNumber" PropertyName="Text" Type="String" />
<asp:controlparameter ControlID="BoxNumber" Name="BoxNumber" PropertyName="Text" Type="String" />
</SelectParameters>
</asp:AccessDataSource>
</form>
</div>
</asp:Content>
<asp:Content id="Content2" runat="server" contentplaceholderid="head">
<style type="text/css">
</style>
</asp:Content>
View 2 Replies
Oct 21, 2010
I'm refactoring an old website that has product search code littered throught the codebehind. I'm trying to encapsulate the search logic into its own class so I've created a Product class with a Search() method. I would like some suggestions about OO best practices so that the class is reusable and maintainable. The questions I have are:
- Should I make the search() method an instance method or make it static? For now the class is just really there to encapsulate my search logic
- If I make it an instance method should it return a list of products or should it populate a member property that I can access like p.Search(); var x = p.ProductList;
- The search method requires upward of 7 parameters of different types, what's the best way to provide them?
- pass them all i.e. p.Search (param1, param2, ..., param7)
- create a SearchParams structure in the class, populate it and pass that i.e. p.Search(searchParams)
- Instantiate a Product object and set properties on it that are used by the Search method i.e. p.ID = 123; etc.... p.Search();
I've used variations of the above before but would like to know what's the best way.
View 1 Replies
Dec 5, 2010
I have a simple store that I have created following the book "Pro ASP.Net MVC 2 Framework" and in this book there is one table in the db: product.
This table hold the product data (id, name, price, category, image)
There is a sqlrepository that returns a linq table object in the sqlrepository constructor like this:
[Code]....
View 9 Replies
Apr 15, 2010
I need some guidance for an application I am working on. I have searched the web and the forum and found parts that answer my questions but I want to do this correctly. My solution uses LINQ to SQL to model the db and I have a repository that is querying my db everytime a controller needs to get some data for the view. I am initially anticipating a maximum of only about a few hundreds hits per day (if that). The website is a directory, with listings and requires a search functionality.
1. What options should I consider to avoid having my repository query the db everytime
2. The site contains a 'search' option, how can I implement this against my repository?
I guess I'm really looking for someone to point me in the right direction. So far I've looked at 'caching' the LINQ to SQL model and Lucene.NET but both seem overkill or am I missing the point?
View 3 Replies
Oct 11, 2010
I need to create a search engine for my website that searches my entire content and files stored in a database.What is the best way and easy to accomplish this?If can, please provide a few samples or links.
View 4 Replies
Jul 22, 2010
not sure if I'm posting to the right thread or not.. but here is the questiondoes anyone know how to implement a best pratice on SEO?One of the example is: if the user types "brand new canon camera" then I want the system to find a sequence of string in the database that contains "new", "cannon", "camera". It is ok with or without the word "brand". However if the user types "HP laptop DV1000" and i want the system to find all HP laptop whether new or not but limited to specific series.
View 3 Replies
Sep 14, 2010
how will I able to create an Image Search Engine?
It is about using an Image and search similar images on web.
View 1 Replies
May 11, 2010
Is there any web service which will return the prouct name by accepting the product barcode input?
View 2 Replies
Nov 22, 2010
Does anyone has a idea how to write code for a search box to look for keywords,etc inside the website or sitemap?
View 11 Replies
May 3, 2010
I would like a site that offers the users the possibility to search over 2 datasources but as i tried to indicate in the subject title the searches are one after another where the result of search 1 is used as a parameter for searching the second datasource. The order of the search would depend for what you search (ideally). Some "fields" or "data" of course appear in both datasources.
To get more specific: datasource 1 contains chemical structures and the associated "id" for this structure + additonal properties. You can search for chemical structures here. (chemically intelligent system). datasource 2 contains documents which are indexed (full text) and have metadata fields one of them beeing above id. No chemical search possible.
The idea is now that i perform a search by chemical structure on datasource 1. As as a result I get a list of id's. These id's are then past into datasource 2 as parameter + also all additionaly parameters entered. There are API's available to perform above searches on the 2 datasources. Is this a reasonable approach? Would it be better to create somekind of a simple datawarehouse, eg a table with all numbers linked to all documents they appear in? (would't know how to achievie this actually since it's the 2 datasoruces are not the same rdbms).
View 2 Replies
May 7, 2015
i am using asp.net webform not asp.net MVC.
i want to make my webforms as single page application
ex: i have a webform for products and the correspoding Product Links
if i click on any products the related details of that product has to be dispaly in the same webform .
i dont want to goto another webfom and dispaly the details of the product.
View 1 Replies
Mar 10, 2010
I've created a photo database and search engine that creates a xml that corresponds to the multiscale image xml.My problem is how to enable multi users to search at the same time?
View 1 Replies
Feb 10, 2010
I have a page which gives user to generate report based on different filters selected. my thoughts Loop through each filter control (checkbox, multi select list, radiobox list) and build dynamic where conditions and conjunctions for each filter and then run query Get all the data (i think this will causes an overload with all 4-5 tables joined) and then use Linq to filter this data based on user selection Is there a better way to implement this?
View 2 Replies
Feb 27, 2011
Anyone have any tips for more advanced books regarding report design? The topics I'm interested in is customizing reports and custom code (i.e let's say I want to preserve chart colors across multiple charts in a report).
View 2 Replies
Jan 4, 2010
I'm using update panel in the master page. Half of my web page will retreive the data from the database in dynamic. As, my update panel is in master page(with ajax loader), it is taking much time for every event. Is there any other advanced method to get the data from the database instead of using update panel.
View 2 Replies
Jan 8, 2010
I've just had Visual Studio 2008 Pro installed by my systems people a few days ago. I'm working through VB.Net For Dummies to refamiliarize myself with it, as it has been a long time since I took a .NET course (2003ish)
I'm not sure if I've done something wrong in the install or what's going on, but in the book it tells me to drag a calendar control to the Web Form page. The screen shot shows it displayed beneath the "Standard" option in the toolbox.
However, the only option I have in my toolbox is "HTML" and it's just got the very most basic HTML controls, like text box and button, etc. I tried "Show All" and then I see Standard, but everything is greyed out.
How do I get the rest of the advanced controls available in ASP.NET? Is it part of the initial setup and was maybe missed by the systems people? Or is there something I need to do to make them available?
I am especially interested in the Calendar control (or any control similar to DatePicker in Windows Forms) as I'm going to have to use that in my real application that I'm gearing up to build.
View 10 Replies