none
FAST (FQL) не работает в seach query RRS feed

  • Общие обсуждения

  • Здравствуйте, просьба подсказать как быть.

     Мне необходимо составить поисковый запрос, который я буду использовать в JS, собственно прототип запроса:

    querytext='TabNumX:"01234"'&rowlimit=10&selectproperties='TabNumX%2cFIO'&clienttype='ContentSearchRegular'

    Но столкнулся с необходимостью поиска не по эквивалентному содержимому поля, а по части текста, которая может быть и в начале, и в конце и в середине.

    Поискав в сети информацию, пришел к выводу что мне поможет FAST (FQL)

    Тестирую запрос в утилите «SearchQueryTool»

    Как только я включаю галку «Enable FQL» и запускаю поиск, выдает ошибку 500, текст «Запрос составлен некорректно. Убедитесь, что используется правильный синтаксис.»

    Покопав в сети еще n-е кол-во времени узнал что все не так просто, как хотелось бы.

    Необходимо неким образом включить/разрешить использование FQL

    Статья в сети мне ничего не дала на практике, не могу понять что где и как сделать.

    Чтобы его включить, используйте свойство EnableFQL. Затем скопируйте источник результатов по умолчанию и измените строку преобразования запроса {?{searchTerms} -ContentClass=urn:content-class:SPSPeople} на одном из трех уровней (в приложении службы поиска, или SSA, семействе веб-сайтов, а также на сайте), одним из этих способов:

    ·         Удалите фильтр KQL -ContentClass:urn:content-class:SPSPeople в строке преобразования запроса. В результате получится следующая строка: {?{searchTerms}}.

    ·         Замените строку преобразования запроса на аналогичную строку FQL, например {?andnot({searchTerms},filter(contentclass:"urn:content-class:SPSPeople*"))}.

     

    На JS запрос обрабатываю таким образом:

    $.ajax({

    url: seachQuery,

    type: 'GET',       

    headers: {

    "Accept": "application/json; odata=verbose"

    },

    contentType: "application/json; odata=verbose",

    }).then(

    function (data) { … }      

    );

    22 августа 2017 г. 13:20