SearchService를 사용하여 Alfresco에서 일부 파일을 쿼리하려고합니다. 내 생각은 :Alfresco Solr SearchService.query()가 Xpath를 구문 분석하는 중 오류가 발생했습니다.
1) GET 내가 SearchService를 통해 NodeService를 통해 다음 파일
2) 가져 오기 noderef의 경로에 대한
3) 마지막으로 쿼리 솔라에서 검색 할 폴더의 noderef 특정 경로에있는 파일을 찾으려면
Solr을 쿼리 할 때 문제가 발생하면 다음 예외가 발생합니다.
ERROR [solr.core.SolrCore] [http-bio-8443-exec-1] org.apache.solr.common.SolrException: org.apache.lucene.queryParser.ParseException: **Cannot parse** 'PATH:"/{http\://www.alfresco.org/model/application/1.0}company_home/{http\://www.alfresco.org/model/application/1.0}user_homes/{http\://www.alfresco.org/model/content/1.0}abeecher/{http\://www.alfresco.org/model/content/1.0}nominas//*"': **Failed to parse XPath**...
Unexpected '{http://www.alfresco.org/model/application/1.0}company_home/{http://www.alfresco.org/model/application/1.0}user_homes/{http://www.alfresco.org/model/content/1.0}abeecher/{http://www.alfresco.org/model/content/1.0}nominas//*'
전체 접두어를 cm : etc ... 접두사로 바꾼 경우 쿼리가 제대로 작동합니다.
문자열을 정규식으로 변환하는 대신 "Alfresco Way"가 있습니까? 아니면 내가 잘못하고있는거야? 내가 사용
코드는 다음과 같습니다 풀 네임 스페이스 구문을 사용하여
Path path3 = nodeService.getPath(folder);
SearchParameters sp = new SearchParameters();
sp.addStore(Repository.getStoreRef());
sp.setLanguage(SearchService.LANGUAGE_LUCENE);
sp.setQuery("PATH:\"/{http://www.alfresco.org/model/application/1.0}company_home/{http://www.alfresco.org/model/application/1.0}user_homes/{http://www.alfresco.org/model/content/1.0}abeecher/{http://www.alfresco.org/model/content/1.0}nominas//*\"");
//sp.setQuery(path3);
//sp.setQuery(path3.toString());
ResultSet results = null;
results = searchService.query(sp);