Как написать запрос фильтра в поиске Azure для доступа к конкретному полю (коллекции)? - PullRequest
0 голосов
/ 24 апреля 2019

Ниже приведен ответ API REST поиска Azure

  My REST API Query is 
    https://myresource.search.windows.net/indexes/myresume-index/docs?api-version=2017-11-11&queryType=full&count=true&search=*
Response
        {
            "@odata.context": "https://myresource.search.windows.net/indexes('myresume-index')/$metadata#docs(*)",
            "value": [
                {
                    "@search.score": 1,
                    "id": "Lakshmi_11",
                    "LastName": "Sripuram",
                    "Profile": null,
                    "Profiles": null,
                    "Education": [
                        "{\"certificate_degree_name\":\"ITI\",\"major\":\"MCA\",\"Institute_name\":\"Chaitanya Insitute of Technology\",\"starting_date\":\"04/07/2010\",\"completion_date\":\"24/4/2012\",\"percentage\":65.6,\"cgpa\":6}"
                    ],
                    "Experience": [
                        "{\"is_current_job\":\"Yes\",\"start_date\":\"24/2/2018\",\"job_title\":\"Senior SAP Developer\",\"enterprise_name\":\"Infosys\",\"job_location_city\":\"Hyderabad\",\"job_location_state\":\"Telangana\",\"job_location_country\":\"India\",\"description\":\"I have an experience in Testing field\"}"
                    ],
                    "Skills": [
                        "{\"skill_set_id\":1258,\"skill_level\":\"High\"}"
                    ],
                    "IsRegistered": false,
                    "rid": "MOY0ALzMD6UBAAAAAAAAAA=="
                },
                {
                    "@search.score": 1,
                    "id": "Preethi_12",
                    "LastName": "DasaraRaju",
                    "Profile": null,
                    "Profiles": null,
                    "Education": [
                        "{\"certificate_degree_name\":\"ITI\",\"major\":\"ITI\",\"Institute_name\":\"valaboju engineering college\",\"starting_date\":\"18/05/2014\",\"completion_date\":\"20/04/2016\",\"percentage\":85.2,\"cgpa\":9}"
                    ],
                    "Experience": [
                        "{\"is_current_job\":\"Yes\",\"start_date\":\"24/3/2019\",\"job_title\":\"PegaDeveloper\",\"enterprise_name\":\"Wipro\",\"job_location_city\":\"Pune\",\"job_location_state\":\"Maharastra\",\"job_location_country\":\"India\",\"description\":\"I have an experience in .NET Technologies\"}"
                    ],
                    "Skills": [
                        "{\"skill_set_id\":1587,\"skill_level\":\"Low\"}"
                    ],
                    "IsRegistered": false,
                    "rid": "MOY0ALzMD6UCAAAAAAAAAA=="
                }

Можно ли написать запрос из области опыта, где job_title равен "PegaDeveloper". Здесь мне нужно показать только поле опыта с job_title. Любой, пожалуйста, помогите мне в этом, я пытался с фильтром запроса в

azure search given below but it is not working.
https://myresource.search.windows.net/indexes/myresume-index/docs?api-version=2017-11-11&queryType=full&$count=true&$select=Experience&search=&$filter=Experience.job_title eq "pegadeveloper"

1 Ответ

0 голосов
/ 24 апреля 2019

То, что вы пытаетесь сделать, - это создать индекс, в котором определенные поля являются «сложными». Я полагаю, что в настоящее время вы смоделировали поле «Опыт» как набор строк.

Это означает, что запрос типа Experience.job_title eq "xyz" не будет семантически эквивалентным вашему реальному сценарию.

В настоящее время возможность создания индексов со сложными полями (сложные типы или коллекции сложных типов) находится в режиме предварительного просмотра и, как правило, будет доступна очень скоро. Я бы посоветовал вам перейти на эту страницу Пользовательский голос , чтобы узнать больше.

...