London Dev Meetup Rescheduled! Due to unavoidable reasons, the event has been moved to 21st May. Speakers remain the same—any changes will be communicated. Seats are limited—register here to secure your spot!

Tracking

Vote:
 

Before I used a trackscript (new Tracking().TrackingScriptUrl) to do the tracking, now Im using the track() funcition (serverside) when i execute the search. I got 2 problems with the new way of doing things:

  1. Since I do the tracking serverside, the server ip is tracked instead of the client ip. Any solution for this?
  2. When I look at the statistics I get a this search word "*" as best search/Beste søk. I also get other normal search words in the best search but "*" is ranked first. Why is that?
#66330
Feb 27, 2013 11:53
Vote:
 

Regarding #2, could you post the code for your search request where this occurs?

#66331
Feb 27, 2013 12:17
Vote:
 

Hi,

Regarding #1 the ip tracked is as follows:
if the request contains the HTTP_X_FORWARDED_FOR it will use that value else it will fallback to the HttpContext.Current.Request.UserHostAddress.

It will never look at the server ip so I'm a little suspicious how it shows up in the statistics. If you intercept your trackingrequest in fiddler  (path: YOURINDEX/_track) what is the ip-parameter that is passed? 

Regards,
Henrik

#66333
Feb 27, 2013 12:29
Vote:
 

Regarding #2, I assume you're tracking searches without any query, e.g. a list page.

That's easy fixed with an if-statement.

if (!string.IsNullOrWhiteSpace(yourQuery))
{
    query = query.Track();
}

    

#66344
Feb 27, 2013 13:53
Vote:
 
This is what I do:

Results
 = SearchClient.Instance.Search<ISearchablePage>(Language.Norwegian)                 .For(Query)                 .InField(x => x.PageHeader)                 .AndInField(x => x.PageName)                 .AndInField(x => x.MainIntro)                 .AndInField(x => x.BodyText)                 .TermsFacetFor(x => x.Categories)                 //.StaticallyCacheFor(TimeSpan.FromMinutes(30))                 .Filter(catFilter)                 //.Filter(x => x.PageHeader.Fuzzy(Query))                 .Select(x => new SearchHit()                 {                     Title = x.PageHeader ?? x.PageName,                     Text = FirstNotEmpty(                         x.MainIntro.AsHighlighted(new HighlightSpec() { FragmentSize = 300NumberOfFragments = 1PreTag = "<strong>"PostTag = "</strong>" }),                         x.MainIntro.AsCropped(300),                         x.BodyText.AsHighlighted(new HighlightSpec { FragmentSize = 300NumberOfFragments = 1PreTag = "<strong>"PostTag = "</strong>" }),                         x.BodyText.AsCropped(300)                     ),                     Url = x.LinkURL,                     Categories = x.Categories                 })                 .Take(pagingControl.PageSize)                 .Skip((pagingControl.ActivePageNumber - 1) * pagingControl.PageSize)                 .Track()                 .GetResult();
#66371
Feb 27, 2013 16:01
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.