На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Полнотекстовый Поиск по текстовому полю (похожий афоризм)
    Всем привет! Пишу потихоньку сайт [URL=афоризмов http://aforizmus.com/]афоризмов http://aforizmus.com/[/URL]

    видел на других сайтах такую фишку - пишешь афоризм, и например начиная с 5 слова, выдаются похожие афоризмы, таким образом уменьшается вероятность написать баян (дубль).... это же реализовано на многих движках форумных (похожие темы)

    я решил сделать полнотекстовый поиск по тексту афоризма, когда поле текст афоризма теряет фокус, то ищем похожий афоризм:

    ExpandedWrap disabled
      подготовил бд
       
      -- 1 view
      USE [nissanin_AFF] GO
      CREATE VIEW [AFFusr].[AforizmSearchView] WITH SCHEMABINDING
      AS SELECT id_rec, [text] FROM [AFFusr].Record
      GO
       
       
      -- 2
      USE [nissanin_AFF] GO
      CREATE UNIQUE CLUSTERED INDEX [IDX_SEARCH] ON [AFFusr].[AforizmSearchView]
      ( [id_rec] ASC ) ON [PRIMARY] GO
       
       
      -- 3
      USE nissanin_AFF GO
      CREATE FULLTEXT CATALOG ftCatalog AS Default
       
      -- 4
      USE nissanin_AFF GO
      CREATE FULLTEXT INDEX ON AFFusr.AforizmSearchView ([text] LANGUAGE 1049)  --select * from sys.syslanguages
      KEY INDEX IDX_SEARCH ON ftCatalog
      WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM) GO



    Загвоздка в поиске, если попробовать так:

    ExpandedWrap disabled
      SELECT * FROM AFFusr.AforizmSearchView WHERE FREETEXT([text],  'По настоящему самый близкий человек – это тот, который знает твое прошлое, верит в твое будущее, а сейчас принимает тебя таким, какой ты есть')  
       
      мне выдается 29 похожих результата....
       
      если так
      SELECT * FROM AFFusr.AforizmSearchView WHERE CONTAINS([text],  'Все во вселенной')  
      ругается на синтаксис, CONTAINS нужно одно слово для поиска....


    Еще раз про задачу: я ищу по полному тексту афоризма, дабы предупредить банальные дубли (копипаст......)
      ExpandedWrap disabled
        WHERE CONTAINS([text],  '"Все во вселенной"')
        спасибо, работает )
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0174 ]   [ 17 queries used ]   [ Generated: 16.04.24, 12:23 GMT ]