Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.218.129.100] |
|
Сообщ.
#1
,
|
|
|
Всем привет! Пишу потихоньку сайт [URL=афоризмов http://aforizmus.com/]афоризмов http://aforizmus.com/[/URL]
видел на других сайтах такую фишку - пишешь афоризм, и например начиная с 5 слова, выдаются похожие афоризмы, таким образом уменьшается вероятность написать баян (дубль).... это же реализовано на многих движках форумных (похожие темы) я решил сделать полнотекстовый поиск по тексту афоризма, когда поле текст афоризма теряет фокус, то ищем похожий афоризм: подготовил бд -- 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 Загвоздка в поиске, если попробовать так: SELECT * FROM AFFusr.AforizmSearchView WHERE FREETEXT([text], 'По настоящему самый близкий человек – это тот, который знает твое прошлое, верит в твое будущее, а сейчас принимает тебя таким, какой ты есть') мне выдается 29 похожих результата.... если так SELECT * FROM AFFusr.AforizmSearchView WHERE CONTAINS([text], 'Все во вселенной') ругается на синтаксис, CONTAINS нужно одно слово для поиска.... Еще раз про задачу: я ищу по полному тексту афоризма, дабы предупредить банальные дубли (копипаст......) |
Сообщ.
#2
,
|
|
|
WHERE CONTAINS([text], '"Все во вселенной"') |
Сообщ.
#3
,
|
|
|
спасибо, работает )
|