Array Value Url Queries

    I have written some articles on Solr and even more on AngularJs however when it comes to URL queries, I think a lot of production solutions do the opposite of what I'm about to suggest. I think the simpler approach is better and if major companies looked at their solution might find that their UI to be over cumbersome. I think if a URL is public it should be straightforward with what its values mean. This gives advanced users the ability to directly navigate and novice the ability to bookmark urls.  
     The problem with facets in search grid is that you have a limited number characters you can use. This is less of a problem in a post form but you won't get link for your novice users. I don't like the idea of a "bookmark button" - style UI where it provides the users with a guid that is unique to their search. So a get method approach is more appropriate for the behavior we want. At one point I thought it would be necessary for guid value kind of system. Where the all facets are set up to a single value and all possible outcomes are based on the number system. However with all my designed I ask WHY, and from the opposition I always hear - "because the users will want it", but how much proof does that really hold? Multiple facets doesn't make a search engine better or easier to understand. 

    One of the most underutilized features in a search engine is a customized filter. I'm getting a little off topic but if you utilize this feature you can greatly reduce the number of facets and even give more functionality to your users. What I'm leading up to is an even simpler solution. With the number of facets close at hand you can combine your values into an array value query. Thus never running into such limitation in theory. However if you do not keep the number of facets in check this whole point is in vain. Still I just wanted to make this point and show that array valued queries are the way to go. I have scaled a lot of my projects to handle. Its important to that you support both methods, an array valued query and multi-value query. 

Example
  • ?cars=Saab,Audi vs?cars=Saab?cars=Audi
    • The trick is to handle the comma and find other facets with the same names.
Resources

Popular posts from this blog

Ng-repeat: Order a List Vertically rather Horizontal

HTML5 Audio doesn't Autoplay for Chrome on Android

Updating Razor 2.0 to 3.0 with Asp.net MVC