Реализация кастомного Searcher в vespa - PullRequest
0 голосов
/ 28 августа 2018

Я создал приложение базового поиска в Vespa с реализацией класса Searcher. Я подал эти документы ниже, используя мое заявление одно за другим.

{
    "fields": {
        "album": "Good",
        "artist": "Arijit",
        "title": "tum ho",
        "year": 2017,
        "duration": 300
    }
}
{
    "fields": {
        "album": "Good",
        "artist": "Atif",
        "title": "bewajah",
        "year": 2017,
        "duration": 300
    }
}
{
    "fields": {
        "album": "bad",
        "artist": "Neha",
        "title": "tere",
        "year": 2017,
        "duration": 400
    }
}

Мой класс Searcher ниже:

public class ExampleSearcher extends Searcher {

    @Override
    public Result search(Query query, Execution execution) {

        retrun execution.search(query); 
    }
}

Теперь, когда я ищу с помощью API:

http://localhost:8080/search/?album=good OR http://localhost:8080/search/?=good

Я получил результат:

{
    "root": {
        "id": "toplevel",
        "relevance": 1,
        "fields": {
            "totalCount": 0
        }
    }
}

Но я должен получить такой результат:

{
    "root": {
        "id": "toplevel",
        "relevance": 1,
        "fields": {
            "totalCount": 2
        },
        "children": [{
            "id": "good",
            "relevance": 1,
            "fields": {
                "album": "Good",
                "artist": "Arijit",
                "title": "tum ho",
                "year": 2017,
                "duration": 300
            }
        }, {
            "id": "good",
            "relevance": 1,
            "fields": {
                "album": "Good",
                "artist": "Atif",
                "title": "bewajah",
                "year": 2017,
                "duration": 300
            }
        }]
    }
}

Что я делаю не так или как мне это делать?

1 Ответ

0 голосов
/ 28 августа 2018

Для того, чтобы на самом деле выполнять поиск узлов содержимого вместо того, чтобы просто насмехаться над результатом Hello world, как в примере, вам нужно добавить в свою цепочку 'inherits = vespa' к конфигурации цепочки поиска в services.xml.

...