code: func FindSentencesByPhrases(ranks *Rank, words []string) []Sentence {
  	var sentences []Sentence
  
  	reqMatch := len(words) - 1
  	sentenceIDs := make(map[int]int)
  
  	for _, i := range words {
  		for _, j := range words {
  			x := ranks.WordValID[i]
  			y := ranks.WordValID[j]
  
  			if _, ok := ranks.Relation.Node[x][y]; ok {
  				curSentenceIDs := ranks.Relation.Node[x][y].SentenceIDs
  
  				for _, id := range curSentenceIDs {
  					if _, ok := sentenceIDs[id]; ok {
  						sentenceIDs[id]++
  					} else {
  						sentenceIDs[id] = 1
  					}
  				}
  			}
  		}
  	}
  
  	for sentenceID, v := range sentenceIDs {
  		if v >= reqMatch {
  			sentences = append(sentences, Sentence{sentenceID, ranks.SentenceMap[sentenceID]})
  		}
  	}
  
  	sort.Slice(sentences, func(i, j int) bool {
  		return sentences[i].ID < sentences[j].ID
  	})
  
  	return sentences
  }
docs: // FindSentencesByPhrases function has wrapper
  // textrank.FindSentencesByPhraseChain. Use the wrapper instead.