Как сделать отдельный универсальный поиск

Вы можете вставить универсальный поиск в любое место страницы, а также делать их несколько на сайте. Каждый из них будет обрабатываться одной и той же процедурой search, но при этом ей может передаваться разный typeID. При этом разные типы поисков могут делаться по разному набору объектов (т.е. как будет задано в sql-процедуре.)

Для размещения глобального поиска используем подобную верстку: 

<select class="form-control  as-select-search hide" data-url="/controls/search/search" data-itemid="100" data-minlength="1" data-delay="1000">
  <option value="0">Поиск по документации...</option>
</select>

data-itemID задает @typeID в процедуре falcon_search.

Вы также можете установить задержку поиска при наборе с клавиатуры через атрибут data-delay и минимальное количество символов для поиска через атрибут data-minlength. 

В процедуре поиска вы можете обработать следующим образом: 

CREATE PROCEDURE [dbo].[falcon_search]
   @q nvarchar(256),
   @typeID int,
  @page nvarchar(256) = '',
  @username nvarchar(256)
AS
BEGIN

	CREATE TABLE dbo.#result (id int, [text] nvarchar(max), [desc] nvarchar(max),[type] nvarchar(256),
	[date] date)

    if(@typeID=100) begin
      -- работа отдельного поиска
       insert into #result
       select top 15 id,
       		  ' '+title+'',
              'Обновил: ' + updatedBy + ' ' + convert(nvarchar,isnull(updated,'2020-01-01'),104) + ' ' + LEFT(convert(nvarchar, isnull(updated,'2020-01-01'),108),5),
              '',
              getdate()
       from kb_articles where isPublish=1 and ( (title like '%'+@q+'%') or (text like '%'+@q+'%') )
       order by id desc

       select * from #result
		drop table #result
        return
    end

    -- остальные поиски ....


END

Пример работы данного поиска есть в базе знаний (справа вверху). 

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK