Настройка параметров MarkLogic / предложить (REST API) - PullRequest
0 голосов
/ 12 июня 2018

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

Я пытаюсь сгенерировать предложения на основе атрибута 'name' из всех документов в моей тестовой базе данных.

Документы выглядят так: app-prototype (3 документа) |/gs/cobra.json

{
"name": "cobra", 
"kind": "mammal", 
"desc": "The cobra is a venomous, hooded snake of the family Elapidae."
}

Вызов http://host:port/v1/suggest?partial-q=c, всегда возвращает пустой набор, и я подозреваю, что это проблема с моими параметрами поиска / конфигурацией.

Ответ:

{
    "suggestions": []
}

Использование следующего файла offer-options.xml:

<options xmlns="http://marklogic.com/appservices/search">
    <default-suggestion-source>
    <range type="xs:string">
        <element ns="" name="name"/>
        <attribute ns="" name="name"/>
    </range>
    </default-suggestion-source>
</options>

и следующей конфигурации индекса диапазона атрибутов: Индекс диапазона атрибутов

Не уверен, что если я неправильно понимаю использование здесь пространств имен / индексов диапазона.

Может ли кто-нибудь пролить свет на то, что здесь может пойти не так?

РЕДАКТИРОВАТЬ: Заменить индекс наИндекс диапазона элементов выглядит следующим образом: Индекс диапазона элементов

и обновлен источник предложения по умолчанию:

<options xmlns="http://marklogic.com/appservices/search">
    <default-suggestion-source>
        <range type="xs:string">
            <element ns="http://marklogic.com/xdmp/dls" name="name"/>
            <attribute ns="http://marklogic.com/xdmp/dls" name="name"/>
        </range>
    </default-suggestion-source>
</options>

По-прежнему нет результатов, возвращаемых.

1 Ответ

0 голосов
/ 12 июня 2018

Ваши (JSON) документы не содержат name атрибутов, но name свойств.Они фиксируются индексами диапазона элементов.В качестве альтернативы вы также можете использовать индекс диапазона пути на name.Замените индекс и соответственно настройте ваш источник предложений по умолчанию.

Убедитесь, что индекс диапазона элементов использует пустое пространство имен uri.Свойства JSON никогда не находятся в пространстве имен (что соответствует поведению элементов без пространства имен).

Также обязательно удалите <attribute ..> из источника предложения, иначе он все равно будет искать индекс диапазона атрибутов.

HTH!

...