diff --git a/src/main/java/org/ayfaar/app/controllers/NewSuggestionsController.java b/src/main/java/org/ayfaar/app/controllers/NewSuggestionsController.java
index 37c78370..55c41a43 100644
--- a/src/main/java/org/ayfaar/app/controllers/NewSuggestionsController.java
+++ b/src/main/java/org/ayfaar/app/controllers/NewSuggestionsController.java
@@ -1,5 +1,6 @@
 package org.ayfaar.app.controllers;
 
+import lombok.extern.slf4j.Slf4j;
 import one.util.streamex.StreamEx;
 import org.apache.commons.lang3.tuple.ImmutablePair;
 import org.ayfaar.app.dao.TermDao;
@@ -12,6 +13,7 @@
 import org.ayfaar.app.utils.ContentsService;
 import org.ayfaar.app.utils.TermService;
 import org.ayfaar.app.utils.UriGenerator;
+import org.ayfaar.app.utils.contents.ContentsUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -28,6 +30,7 @@
 import static java.util.regex.Pattern.CASE_INSENSITIVE;
 import static java.util.regex.Pattern.UNICODE_CASE;
 
+@Slf4j
 @RestController
 @RequestMapping("api/suggestions")
 public class NewSuggestionsController {
@@ -39,9 +42,11 @@ public class NewSuggestionsController {
     @Autowired VideoResourceService videoResourceService;
     @Autowired RecordService recordService;
     @Autowired ItemService itemService;
+    @Autowired ContentsUtils contentsUtils;
 
     private List<String> escapeChars = Arrays.asList("(", ")", "[", "]", "{", "}");
     private static final int MAX_SUGGESTIONS = 5;
+    private static final int MAX_WORDS_PARAGRAPH_AFTER_SEARCH = 4;
 
     public Map<String, String> suggestions(String q) {
         return suggestions(q, false, false, false, false, false, false, false, false, false);
@@ -74,7 +79,13 @@ public Map<String, String> suggestions(@RequestParam String q,
         for (Suggestions item : items) {
             Queue<String> queriesQueue = getQueue(q);
             for (Map.Entry<String, String> suggestion : getSuggestions(queriesQueue, item)) {
-                allSuggestions.put(suggestion.getKey(), suggestion.getValue());
+                String key = suggestion.getKey();
+                String value = suggestion.getValue();
+                if(key.contains("ии:пункты:")) {
+                    String suggestionParagraph = contentsUtils.filterLengthWordsAfter(value, q, MAX_WORDS_PARAGRAPH_AFTER_SEARCH);
+                    if(suggestionParagraph != "")allSuggestions.put(key, key.substring(10) + ":" + suggestionParagraph);
+                }
+                else allSuggestions.put(key, value);
             }
         }
         return allSuggestions;
diff --git a/src/main/java/org/ayfaar/app/utils/contents/ContentsUtils.java b/src/main/java/org/ayfaar/app/utils/contents/ContentsUtils.java
new file mode 100644
index 00000000..c6e72c78
--- /dev/null
+++ b/src/main/java/org/ayfaar/app/utils/contents/ContentsUtils.java
@@ -0,0 +1,58 @@
+package org.ayfaar.app.utils.contents;
+
+import org.springframework.stereotype.Component;
+import java.util.Arrays;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+@Component
+public class ContentsUtils {
+
+    public static String filterLengthWordsAfter(String paragraph, String search, int countWordsBeforeAndAfter){
+        String wholeFind = "";
+        String searchResult = null;
+        String str = paragraph;
+        String find = search;
+
+        //check if not the full text
+        Pattern pattern = Pattern.compile("\\S*" + find + "\\S*",Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
+        Matcher matcher = pattern.matcher(str);
+        while (matcher.find()) {
+            wholeFind = matcher.group();
+        }
+
+        //create minimal string
+        int countWords = countWordsBeforeAndAfter;
+        String[] sp = str.split(" +"); // "+" for multiple spaces
+        List<String> strings = Arrays.asList(sp);
+        String[] findStringArr = {};
+        if (wholeFind.equals("")) findStringArr = find.split(" ");
+        else findStringArr = wholeFind.split(" ");
+
+        int lengthFindStringArr = findStringArr.length;
+        int lengthParagraph = sp.length;
+        String firstPosition = findStringArr[0];
+        String lastPosition = findStringArr[lengthFindStringArr - 1];
+        int iLast = strings.indexOf(lastPosition);
+
+        for (int i = 0; i < lengthParagraph; i++) {
+            String addFirstDots = "";
+            if (sp[i].equals(firstPosition) && sp[i + lengthFindStringArr-1].equals(lastPosition)) {
+
+                String after = "";
+                for (int j = 1; j <= countWords; j++) {
+                    if(iLast+j < lengthParagraph) after += " " + sp[iLast+j];
+                }
+
+                after = after.replaceAll("[-+.^:,]$","");
+                if(!after.equals(" ") && iLast + countWords < lengthParagraph) after += "...";
+                if (!firstPosition.equals(sp[0])) addFirstDots  = "...";
+                searchResult = addFirstDots + wholeFind + after;
+            }
+        }
+
+        return searchResult == null ? "" : searchResult;
+    }
+}
+
diff --git a/src/test/java/org/ayfaar/app/utils/contents/ContentsUtilsTest.java b/src/test/java/org/ayfaar/app/utils/contents/ContentsUtilsTest.java
new file mode 100644
index 00000000..bed575d8
--- /dev/null
+++ b/src/test/java/org/ayfaar/app/utils/contents/ContentsUtilsTest.java
@@ -0,0 +1,72 @@
+package org.ayfaar.app.utils.contents;
+
+
+import org.ayfaar.app.IntegrationTest;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import static junit.framework.Assert.assertNull;
+import static org.junit.Assert.assertEquals;
+
+public class ContentsUtilsTest{
+
+    @Autowired
+    ContentsUtils contentsUtils;
+
+    @Test   //Test full text
+    public void filterLengthWordsAfterTest(){
+
+        String paragraph = "Аспекты Качеств - главная основа Фокусной Динамики.";
+
+        String find = "Аспекты Качеств - главная основа Фокусной Динамики.";
+        String s = contentsUtils.filterLengthWordsAfter(paragraph, find, 3);
+
+        assertEquals("Аспекты Качеств - главная основа Фокусной Динамики.", s);
+    }
+
+    @Test   //текст из середины, результат должен быть впереди с "..." и сзади плюс три слова и "..."
+    public void filterLengthWordsAfterTest1(){
+
+
+        String paragraph = "Аспекты Качеств - главная основа Фокусной Динамики.";
+
+        String find = "Качеств";
+        String s = contentsUtils.filterLengthWordsAfter(paragraph, find, 3);
+
+        assertEquals("...Качеств - главная основа...", s);
+    }
+
+    @Test   //текст с конца строки, троеточие подставляется только впереди строки
+    public void filterLengthWordsAfterTest2(){
+
+
+        String paragraph = "Аспекты Качеств - главная основа Фокусной Динамики.";
+
+        String find = "Фокусной Динамики.";
+        String s = contentsUtils.filterLengthWordsAfter(paragraph, find, 3);
+
+        assertEquals("...Фокусной Динамики.", s);
+    }
+
+    @Test   //текст с начала строки, в результат дописывается еще три слова плюс троеточие подставляется только вконце строки
+    public void filterLengthWordsAfterTest3(){
+
+        String paragraph = "Аспекты Качеств - главная основа Фокусной Динамики.";
+
+        String find = "Аспекты";
+        String s = contentsUtils.filterLengthWordsAfter(paragraph, find, 3);
+
+        assertEquals("Аспекты Качеств - главная...", s);
+    }
+
+    @Test   //поиск не существующего текста, должен выдавать пустую строку
+    public void filterLengthWordsAfterTest4(){
+
+        String paragraph = "Аспекты Качеств - главная основа Фокусной Динамики.";
+
+        String find = "sdlkdfsfsdfdsdfjs";
+        String s = contentsUtils.filterLengthWordsAfter(paragraph, find, 3);
+
+        assertEquals("", s);
+    }
+}