2016-07-19 1 views
1

현재 Windows 7 컴퓨터에는 solr 5.5.0이 설치되어 있습니다.Solr이 관례에 따라 추출하지 않는 이유는 무엇입니까?

저는 최근에 우리 회사를 떠난 개발자가 만든 프로젝트를 얻으려고합니다. 이것은 내 무릎에 떨어졌고 나는 solr에 대한 이전의 경험이 없기 때문에 그것을 알아 내려고 함으로 넘어지고있다.

public class SolrIndexFile 
{ 
    [SolrUniqueKey("id")] 
    public string Id { get; set; } 

    [SolrField("attr_resourcename")] 
    public string Path { get; set; } 

    [SolrField("extension_s")] 
    public string Extension { get; set; } 

    [SolrField("bytes_s")] 
    public string Bytes { get; set; } 
} 

먼저 내가 스키마를 지정하기 위해 필요하다고 생각에서 :

오전 데 문제는 내가 파일을 업로드 할 때, 그것은 다음과 같이 정의 된 사용자 정의 필드를 추출하지 않는 것이다. xml하지만 더 많은 것을 읽었을 때 (그리고 solr이 schema.xml.bak으로 이름이 바뀜) 이제 solr5가 managed-schema를 사용하고 있다는 것을 알았습니다.

그런 다음 수동으로 필드 이름을 추가해야한다고 생각했습니다. 그러나 나는 관습 (schema.xml 파일에서 알았던 알비엣)을 보았지만 그 규칙은 여전히 ​​유효해야합니다.

이제 저는 그 필드를 추출물로 가져 오는 방법을 알아 내려고 노력했습니다. 실제로 파일을 업로드하는 코드는 다음과 같습니다.

using (var fileStream = File.OpenRead(tmp)) 
{ 
    _solr.Extract(new ExtractParameters(fileStream, index.Id, index.Path) 
    { 
     ExtractFormat = ExtractFormat.Text, 
     ExtractOnly = false, 
     AutoCommit = true 
    }); 
} 

tmp는 내가 업로드 할 파일 경로입니다.

도움을 주시면 감사하겠습니다.

+0

solrconfig.xml의 내용은 무엇입니까? 관리되는 스키마와 같은 것이 정의되어 있거나 5.5의 기본값이 시작되어야합니다. 그러나이를 알기 위해서는 그것을 볼 필요가 있습니다. – cheffe

답변

0

전체 프로젝트를 처음 사용하는 경우 실제로 문제가있는 부분을 확인하려면 문제를 부분으로 나누어야합니다. 이 엔드 - 투 - 엔드를 테스트 한 다음 중간에 무언가를 고치려고하면 너무 복잡 할 수 있습니다.

가장 쉬운 방법은 SolrIndexFile 내용을 덤프하여 실제로 추출 값이 채워지는지 여부를 확인하는 것입니다. 그렇지 않은 경우 문제는 Solr가 아니라 사용자 정의 코드입니다.

그렇다면 Solr 측에서 어떤 문제가 발생합니까? 관리자 UI로 이동하면 then on the schema browser screen 특정 필드를 선택하고 포함 된 토큰 (색인 된 표현)을 볼 수 있습니다. 그렇게하면 Solr에 어떤 컨텐츠가 있는지 확인할 수 있습니다. 그렇지 않다면 스키마와 매핑에 대해 걱정해야합니다. 기본 쿼리를 수행하고 추가 필드가 있는지 여부에 관계없이 새 문서가 실제로 나타나는지 확인합니다. 그렇지 않은 경우 여러 개의 Solr 인스턴스가 있거나 커밋 또는 기타 문제가 누락되었을 수 있습니다.

모두 괜찮 으면 쿼리 측면에 초점을 맞추고 해당 필드 또는 다른 누락 물을 묻지 않았는지 확인하십시오.

관련 문제