Как использовать несколько процессоров документов в vespa.ai в отдельной поисковой цепочке? - PullRequest
2 голосов
/ 07 января 2020

Мне нужно использовать многопроцессорный процессор в моем случае использования Vespa. У меня есть условие, когда мне нужно изменить каналы на основе разных условий. Я не могу использовать цепочку обработки документов. Это должен быть отдельный файл, который я могу использовать каждый раз, когда вставляю канал. Я попытался использовать приведенный ниже сервер. xml конфигурация.


    <document-processing>
                <chain id="foo">
                    <documentprocessor
                        id="com.abc.xyz.Test" bundle="abc-xyz-one" />
                </chain>
    <chain id="bar">
                    <documentprocessor
                        id="com.abc.xyz.Test2" bundle="abc-xyz-one" />
                </chain>
    </document-processing>

Запрос http://<IP>:<port>/document/v1/test2/test2/docid/<id>/;&chain=foo

Здесь я получаю тайм-аут.

Ответы [ 2 ]

2 голосов
/ 07 января 2020

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

<document-processing>
  <chain id="default">
    <documentprocessor id="com.abc.xyz.Test" bundle="abc-xyz-one" />
    <documentprocessor id="com.abc.xyz.Test2" bundle="abc-xyz-one" />
  </chain>
</document-processing>

(я не думаю, что вы хотите здесь, но если вам нужно несколько цепочек, вам нужно настроить маршрутизацию. Это потому, что вы обычно хотите маршрутизировать обрабатывать цепочки в зависимости от атрибутов операций, а не оставлять их на усмотрение клиентов.)

1 голос
/ 08 января 2020

http / API / document / v1 http (описан здесь https://docs.vespa.ai/documentation/document-api.html) не поддерживает параметр цепочки. У него есть параметр route, который позволяет отправлять сообщения по маршруту, где прыжки по маршруту могут быть цепочками docpro c.

Неясно, что вы действительно хотите сделать, но вы можете перенаправить операции с документами в другую цепочку обработки документов, имея маршрут для каждой цепочки (тогда условие, к которому следует отправлять маршрут, должно быть решено за пределами Vespa) см. https://docs.vespa.ai/documentation/routing.html. Командная утилита vespa-route очень удобна для выяснения, как называются имена прыжков.

...