powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск по текстовому полю
7 сообщений из 7, страница 1 из 1
Поиск по текстовому полю
    #38716086
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет! Пишу потихоньку сайт афоризмов http://aforizmus.com/

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

у меня вопрос по реализации поиска:

не думаю что там банально ищутся по всей базе похожий текст через Like "Text%" в большом предложении это не очень эффективно. может кто знает как такой (интеллектуальный) поиск по сайту происходит?

Модератор: Тема перенесена из форума "Microsoft SQL Server".
...
Рейтинг: 0 / 0
Поиск по текстовому полю
    #38716095
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Ряд баз данных поддерживает полнотекстовый поиск и индексы для полнотекстового поиска

2. Можно реализовать свой "индекс". Например, когда в конце 90-х я делал сайт, для поиска построил табличку со словами + связка многое ко многим слова-объект на сайте. Также парсер введенную фразу и искал по отдельным словам (через индекс, уходил от Like).

3. Можно почитать книжки/статьи по алгоритмам полнотекстового поиска и поиска по неполному совпадению.

etc...
...
Рейтинг: 0 / 0
Поиск по текстовому полю
    #38716129
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid Kudryavtsev1. полнотекстового поиска и поиска по неполному совпадению.
etc...

направление понял, спасибо.
...
Рейтинг: 0 / 0
Поиск по текстовому полю
    #38716134
Фотография Areostar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Angularjs такое уже реализованно
...
Рейтинг: 0 / 0
Поиск по текстовому полю
    #38794561
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

сделал:

подготовил БД:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
-- 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



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

Код: sql
1.
2.
3.
4.
5.
6.
7.
SELECT * FROM AFFusr.AforizmSearchView WHERE FREETEXT([text],  'По настоящему самый близкий человек – это тот, который знает твое прошлое, верит в твое будущее, а сейчас принимает тебя таким, какой ты есть')  

мне выдается 29 похожих результата....

если так
SELECT * FROM AFFusr.AforizmSearchView WHERE CONTAINS([text],  'Все во вселенной')  
ругается на синтаксис, CONTAINS нужно одно слово для поиска....



Еще раз про задачу: я ищу по полному тексту афоризма, дабы предупредить банальные дубли (копипаст......)
...
Рейтинг: 0 / 0
Поиск по текстовому полю
    #38795019
Фотография Sputnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
двойные кавычки еще нужны были: WHERE CONTAINS([text], '"Все во вселенной"')
...
Рейтинг: 0 / 0
Поиск по текстовому полю
    #38795754
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для полнотекстового поиска и всяких автокомплитов используют специализированные движки:

http://sphinxsearch.com/
http://lucene.apache.org/solr/
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Поиск по текстовому полю
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]