Example #1
0
 private void AnalyzeTransitionToState(State newState)
 {
     if (_currentState == State.StartState)
     {
         if (newState == State.SearchResult)
         {
             _usefullness = CoefNewSearch;
         }
     }
     else if (newState == State.SearchResult)
     {
         if (NGramAnalyzer.IsSimilar(_lastSearchRequest, _currentSearchRequest))
         {
             _usefullness      *= CoefRetrySearch;
             _lastSearchRequest = _currentSearchRequest;
         }
         else
         {
             FinishSequenceAnalyze();
             _usefullness       = CoefNewSearch;
             _lastSearchRequest = _currentSearchRequest;
         }
     }
     else if (newState == State.Description)
     {
         if (_currentState != State.Description)
         {
             _usefullness *= CoefViewDescription;
         }
     }
     else
     {
         _usefullness = CoefSearchSuccesfull;
     }
 }