Я использую из коробки ML REST API POST v1/search
, и я использую параметр transform?
, чтобы преобразовать полученные результаты. Но я также хочу манипулировать строкой q
, которая отправляется в конечную точку. Есть что-то вроде transform-query
или что-то, что будет вызываться для преобразования строки запроса. Я понимаю, что мы можем написать пользовательскую конечную точку для этого, но я хочу избежать, если это можно сделать из конечной точки окна.Marklogic из окна запроса API API преобразования
ответ
То, что я есть написал пользовательский веб-сервис, который обрабатывает преобразование запроса, но я также, как и все Params, что вне коробки остальное апи делает, поэтому я скопировал XQUERY кодекс из коробки. Следующее - это то, что я сделал. В моем случае я делаю только расширение запроса
let $search:= map:get($params,"q")
let $qexpand := repo-searchLib:queryExpand($search)
let $_ := map:put($params, "q", $qexpand)
let $headers := eput:get-request-headers()
let $env := eput:response-callback-map(eput:response-type-callback#1)
let $response := searchmodq:search-post($headers,$params, $env, xdmp:get-request-body(eput:get-content-format($headers,$params)))
let $has-matches := map:get($env, "has-matches")
return
if (exists($response)) then $response
else if ($has-matches) then()
else xdmp:set-response-code(404,"Not Found")
Кто-нибудь из вас думают, что там может быть что-то, что я мог бы быть не хватает? в настоящее время это, похоже, работает для меня.
Вы верны. В настоящее время нет поддержки преобразования на вход запроса для выполнения расширения запроса и других манипуляций с запросами.
Расширение службы ресурсов является текущим рекомендуемым методом, вызывающим либо cts: parse()/cts: search()/search: resolve(), либо search: search() с измененным запросом.
Надеясь, что помогает,
Хотя это не поддерживается/v1/поиска, я думаю, что это разумно, что нужно сделать в среднем ярусе - например, уровень Java или NodeJS поверх REST API.
Менее идеально подходит для расширения контента с использованием контента. – grtjn
Если вы хотите сделать это, добавив критерии поиска (вместо изменения строкового запроса), вы можете использовать комбинированный запрос с/v1/search для объединения исходного строкового запроса с структурированным запросом, который выражает дополнительные критерии.
- 1. MarkLogic | NodeJS API фаска запроса по геолокации
- 2. API-интерфейс Marklogic Rest для каталога-запроса
- 3. Marklogic Rest Api Logging
- 4. MarkLogic nodejs Api ошибка
- 5. API-интерфейс API MarkLogic объединяет 2 документа
- 6. MarkLogic Запрос API Google Places
- 7. Marklogic rest api: длинные запросы
- 8. Marklogic REST API ищет последнюю версию документа
- 9. преобразования с использованием XSLT/XQUERY в MarkLogic?
- 10. Ограничение запроса API-запроса
- 11. Как использовать API тезауруса MarkLogic для фраз?
- 12. MarkLogic Java API и версии Dropwizard
- 13. MarkLogic Search Предложить с Java API
- 14. API Gmail: пример запроса API
- 15. API преобразования видео
- 16. Работа с API-интерфейсом клиента MarkLogic Java
- 17. Работа с marklogic с API-интерфейсом java?
- 18. API MarkLogic-Rest с использованием AJAX
- 19. Marklogic 8 Node.js API - поиск фраз
- 20. Java-клиент-api для marklogic Шифрование/дешифрование
- 21. MarkLogic Java API - как получить документ
- 22. MarkLogic Java файлы API пакетной загрузки (.csv)
- 23. API-интерфейс MarkLogic Java - QueryManager с JAXB?
- 24. Marklogic Java API Семантический тройной поиск
- 25. MarkLogic | NodeJS API - Запрос на атрибут поля
- 26. Изменить версию экземпляра REST API в MarkLogic
- 27. Marklogic Оптимистичная блокировка с использованием XCC API
- 28. Современные окна ввода API/пользователя Взаимодействие API
- 29. xquery api для загрузки данных из marklogic в amazon s3
- 30. Ошибка проверки подлинности API запроса API-запроса Amazon SES HTTPS
В зависимости от необходимости рекомендуется использовать удлинение для отдыха, особенно если вы ищете расширение запросов на основе контента. – grtjn
Для этого есть RFE, но до сих пор он не получил достаточного веса. – grtjn