Любой готовый способ получить только определенные данные поля из Solr с помощью Spring SimpleFacetQuery - PullRequest
0 голосов
/ 24 июня 2019

У меня есть документ, подобный:

MyService{id='1956462206', serviceImageId='ebngTVCzt5Y', name='Academic_Advising', endpointUrl='http://localhost:36548/', transportProtocol='HTTP', dataProtocols='Web Services (SOAP)', groupTag='workday', status='2', statusDescription='Running', registryName='tcp://localhost:2010/Registry', vseName='VSE', lastModified='02/02/2019', marFileModifiedDate='1550053068000', executionMode='Most Efficient', description='Academic_Advising', dashboardConnectionUrl='http://localhost:1506', lastRefreshedDate=06/24/2019 09:32:27, operations=[Get_Academic_Progress_for_Student_Request, Get_Academic_Advising_Notes_Request, Put_Academic_Advising_Note_Request, Get_Explored_Program_of_Study_Evaluation_Results_Request]}

Теперь я хочу получить данные id, name, serviceImageId, dataProtocols и операций

И я уже написал код, который необходимо изменить в соответствии с требованием.

// Я пробовал этот код, но не работал

  SimpleFacetQuery query =  new SimpleFacetQuery(conditions, new SolrPageRequest(page, size));
    query.addSort(getSortOrder(sortBy, direction));
    query.addProjectionOnFields(new String[]{"name"});
    query.setFields(new String[]{"id","name","serviceImageId","dataProtocols",""});

Существующий код, который необходимо изменить

Criteria conditions = createSearchConditions(searchFields);
        conditions.and(new Criteria(SERVICE_IMAGE_ID_S_LOWER).isNotNull());
        SimpleFacetQuery query = new SimpleFacetQuery(conditions, new SolrPageRequest(page, size)).addSort(getSortOrder(sortBy, direction));

 FacetPage<VirtualService> results = solrTemplate.query(COLLECTION_NAME, query, MyService.class);

Любые предложения, как мне этого добиться.

...