2017-10-12 3 views
1

pysolr을 사용하여 Solr (5.3.2)에 문서를 추가하려고합니다. 큰 텍스트와 메타 데이터 (date, author ...)가 포함 된 간단한 JSON 객체를 생성 한 다음 Solr에 추가하려고합니다. 이태양열이 큰 문서 색인 생성

Solr responded with an error (HTTP 400): [Reason: Exception writing document id e2699f18-ab5f-47f6-a450-60db5621879c to the index; possible analysis error.] 

정말 필드 길이에 어딘가에 하드 제한을 것 같다,하지만 난 찾을 수 없습니다 : 내 문제는 특정 크기 이상으로, SOLR 문서 인덱스에 실패하고 다음 오류를 반환 할 것입니다 그것.

default_obj['content'] = content[:13261] 

이 오류가 발생합니다 동안

default_obj['content'] = content[:13260] 

가 잘 작동합니다 :

파이썬에서 장난으로 나는 것을 알아 냈다.

콘텐츠 필드는 내 schema.xml에 일반 type = "text_general"필드로 정의됩니다.

편집 : 여기 SOLR의 웹 관리 인터페이스를 통해 수동으로 콘텐츠를 추가 시도

<field name="content" type="text_general" indexed="true" stored="true" multiValued="true"/> 


<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> 
    <analyzer type="index"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
    <analyzer type="query"> 
    <tokenizer class="solr.StandardTokenizerFactory"/> 
    <filter class="solr.LowerCaseFilterFactory"/> 
    </analyzer> 
</fieldType> 

의 schema.xml 정의,하지만 난 똑같은 문제를 얻는다.

+0

이 콘텐츠를 추가하려는 입력란에 schema.xml을 공유 할 수 있습니까? – Mysterion

+0

은 내 게시물을 schema.xml 정보로 편집했습니다. – user2969402

답변

0

대부분의 경우 32766과 같은 단일 토큰의 측면에 하드 제한이 있습니다.이 제한을 변경할 수는 없지만 동작을 변경하고 Tokenizer을 사용하여 원본 텍스트를 문서를 별도의 토큰으로

예를 들어, WhitespaceTokenizer을 시도하면 큰 분야를 여러 용어/토큰으로 분리하므로 문서를 안전하게 색인화 할 수 있습니다.

+0

이상하게 들리며 텍스트의 간격이 적절하고 가장 긴 토큰은 10 자 정도입니다 긴. – user2969402