М
Size: a a a
М
М
JD
Аr
Аr
JD
Г
М
component=rserver,class=FtextMngrRHost
, но не получилось или поиск не отрабатывает или настроил неправильноГ
М
Г
М
Г
М
М
Г
М
"Для динамических списков с указанной основной таблицей используется полнотекстовый поиск по основной таблице. К результатам полнотекстового поиска будут добавлены все непроиндексированные ссылки из основной таблицы."
Это значит, что поиск будет произведен с помощью полнотекстового поиска и те объекты, которые с помощью него не будут найдены, гарантированно не попадут в выборку, полученную в результате. Кроме того, непроиндексированные объекты будут искаться по стандартному алгоритму (но это не наш случай, т. к. индекс только что обновлен)
Документация:
"Если при попытке выполнить полнотекстовый поиска произошла ошибка, поиск будет выполняться без применения полнотекстового поиска."
Это значит, что если полнотекстовый поиск не смог вернуть результаты, весь поиск будет произведен по стандартному алгоритму. Как раз это и происходит при поиске строк "45" и "445", ниже объясняю почему
Документация:
"Например, такое может произойти при поиске по одной букве и большому количеству строк в информационной базе, начинающихся с этой буквы."
Обратите внимание на слово "например". Ошибка также может возникать при поиске строк, начинающихся на строку из двух и более символов, просто это происходит реже. Ища в динамическом списке строку "445", Вы ищете при помощи полнотекстового поиска все, что на нее начинается (то есть, формируется запрос "445*"). Полнотектсовый поиск не сможет выполнить такой запрос, поскольку в базе слишком много слов, начинающихся на "445".
Приложенная конфигурация находится в режиме совместимости с версией 8.3.12. Начиная с режима совместимости с версией 8.3.13 гарантируется возврат результата полнотекстовым поиском при поиске по началу строки длиной от трех до семи символов, если возможно выдать результат, что значит, что при поднятии режима совместимости конфигурации и перестроении индекса полнотекстового поиска Вы также не получите результат при поиске в динамическом списке по строке 445, так как полнотекстовый поиск ничего по ней не найдет и это не будет являться ошибкой.
Документация:
"Для каждого слова формируется свой набор условий, которые объединяются «по ИЛИ». Этот набор условий формируется в том случае, если полнотекстовый поиск данного слова в таблице, из которой было получено данное поле, вернул хотя бы один объект или полнотекстовый поиск не использовался для этого поля. Условия формируются следующим образом:"
Здесь написано, что следующий набор условий формируется для фильтрации результатов полнотекстового поиска в случае, если он вернул результаты и для поиска, если полнотекстовый поиск завершился с ошибкой. Данный алгоритм не будет дополнять результаты поиска при помощи полнотекстового поиска.
Последнее означает, что если полнотекстовый поиск не нашел ничего по запросу "4455*" (что абсолютно логично, так как ни одна строка не начинается на 4455) и не завершился с ошибкой, то результаты будут пустые. Тем временем, по запросу "445*" полнотекстовый поиск не смог выдать результаты, так как в базе слишком много слов, начинающихся на данную строку. Из-за того, что полнотекстовый поиск завершился с ошибкой, динамический список производит поиск по стандартному алгоритму и находит вхождения этой подстроки в середины строк.
Таким образом, данное поведение все же является ожидаемым.
Г
Г
М