Коллеги, добрый день!

Существует вопрос с использованием полнотекстового поиска mssql 2014 и bpm 7.x

Вопрос заключается в Задаче:

Необходимо реализовать такую систему поиска, при которой пользователь bpm.online в строке поиска (какая-нибудь кастомная строка поиска) заводит интересующий его запрос.
После запуска поиска пользователем, система должна выдать результаты:
а) по всем соответствующим запросу записям в bpm'online
б) по всем приаттаченым к записям документам(word и т.д.), причем если приложен текстовый документ, поиск должен происходить не только по наименованию, но и по его содержанию.

Существуют ли какие-нибудь решения в этом направлении, подсказки, советы и т.д.
Особенно в пункте "Б".

Нравится

4 комментария

Здравствуйте!

Просто оставлю здесь эту ссылку.

"Демьяник Алексей" написал:

Здравствуйте!

Просто оставлю здесь эту ссылку.

Алексей, спасибо за ответ, я эту информацию видел.

У меня стоит задача не покупать/использовать партнерское решение, а найти советы для последующей разработки механизма полнотекстового поиска по документам для конкретного проекта-внедрения. Используя при этом компонент sql full-text search.

Разработали бы отдельный модуль полнотекстового поиска к любому продукту. Думаю, купили бы

Коллеги,
для того чтобы использовать полнотекстовый поиск, не обязательно покупать документооборот.

Полнотекстовый поиск есть в модуле расширенной работы с файлами, тот же самый что и в PT Docs.

Вот страница на комьюнити.
Вот страница в маркетплейс.

Коллеги, обращайтесь!

Показать все комментарии

Здравствуйте!

подскажите пожалуйтста, можно ли использовать возможности полнотекстового поиска mssql2012 в террасофт 3.4 ?

Или может быть есть идеи или готовые решения как это реализовать.

Нужно например в разделе Контакты искать полнотекстовым поиском контакты с определенными словами в описании. Т.е. допустим есть форма поиска и при введении первых букв слова или фразы, система находит совпадения по вхождению (и например выводит их в стандартном окне справочника).

Нравится

4 комментария

Здравствуйте!

Для организации полнотекстового поиска mssql2012 в Terrasoft 3.4 можете создать свой кастомный запрос который подключите в своем справочнике. Если у Вас уже настроен справочник, то можете добавить кастомное условие и использовать его для фильтрации.

Павел, спасибо!

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

Приведу пример на Контрагентах.

  1. Открываем сервис sq_Account ([Accounts\General\Main Grid\sq_Account])
  2. Добавляем новый фильтр к запросу [Custom SQL Filter]
  3. В созданном условии пишем свое условие
  4. Сохраняем запрос

Здравствуйте!

Приведу пример готового решения поиска.

1. В sql пишем функцию, которая выполняет поиск:

GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
create function [dbo].[tsf_GetContactIDsPr](@CONTAINSText nvarchar(255))
returns @Result table(ID uniqueidentifier)
as
begin
	set @CONTAINSText = rtrim(ltrim(@CONTAINSText));
		set @CONTAINSText = @CONTAINSText + '*';
		set @CONTAINSText = '"' + @CONTAINSText + '"';
		insert into @Result
		select ID
		FROM [dbo].[tbl_Contact] AS [tbl_ Contact] 
		WHERE (CONTAINS([tbl_ Contact].[Description], @CONTAINSText))	
		end
 
	return		
End

2. В Террасофт в sq_Contact добавляем пользовательский sql-фильтр

3. В фильтре прописываем вызов функции

Exists
(
select *
from dbo.tsf_GetFileIDsCONTAINSVarious(:DescripWords) b
where b.ID = [tbl_Files].[ID]
)

4. Сохраняем изменения в сервисе.

5. Активируем фильтр

var DescripWords =edtSearch.Value; //поле поиска
if (!IsEmptyValue(DescripWords)) {
	ApplyDatasetFilter(Dataset, DescripWordsFilters, DescripWords, true);
}
Показать все комментарии