2012-10-09 3 views
0

제 생각에 Solr을 통해 PDF, Word, Excel 등의 문서를 인덱싱하면 검색은 가능하지만 강조 표시는 허용되지 않습니다. 나는 색인 수행하려면이 코드를 가지고 : 내가 읽고Solr - Tika - 내용 강조 표시 활성화

 String urlString = "http://localhost:8983/solr"; 
     SolrServer solr = new HttpSolrServer(urlString); 
     ContentStreamUpdateRequest up = new ContentStreamUpdateRequest("/update/extract"); 

     for (MultipartFile file : files) { 
      if (file.getOriginalFilename().equals("")) { 
       continue; 
      } 
      File destFile = new File(destPath, file.getOriginalFilename()); 
      file.transferTo(destFile); 
      up.addFile(destFile); 

      up.setParam("literal.id", destFile.getAbsolutePath()); 
      up.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); 

      try { 
       solr.request(up); 

      } catch (SolrServerException sse) { 
       sse.printStackTrace(); 
      } 

     } 

    } 
    } catch (IOException ioe) { 
     ioe.printStackTrace(); 
    } 

을 그 내가해야합니다 강조 수 있도록하기 위해 "저장/내용을 분석?" 어떻게 할 수 있습니까? 당신의 도움을 주셔서 감사합니다.

답변

2

Solr 인스턴스에 대해 Schema 파일을 수정하고 content 필드에 stored="true"을 설정해야합니다. ExtractingRequestHandler에 대한 기본 필드 설정을 사용 중이므로 해당 필드에 강조 표시 결과를 반환하려고한다고 가정합니다.

행렬에 대해서는 Field Options By Use Case을 참조하고 강조 표시 및 기타 기능이 올바르게 작동하려면 어떤 필드 옵션을 사용해야하는지에 대한 참고 사항을 참조하십시오.

+0

고맙습니다. 스키마에서 콘텐츠 필드를 찾지 못했습니다. 하나를 만들 수도 있지만 텍스트 필드가 이미 데이터를 인덱싱하고있는 것으로 보입니다. 저장된 것을 거짓에서 참으로 변경하는 데 문제가 있습니까? 또한 ExtractingRequestHandler에 대한 설정을 변경하지 않았습니다. – James

+0

아니요, 텍스트 필드에서 저장된 값을 변경하는 데 아무런 문제가 없습니다. 강조 표시하려는 것으로 가정하고 있기 때문입니다. –

+0

맞습니다. ExtractingRequestHandler의 기본 설정은 내용을 텍스트 필드에 저장하는 것입니다 (아래 참조). 따라서 기본값을 유지하고 텍스트 필드에 저장된 값을 변경합니다. ( 텍스트) – James

관련 문제