2014-02-05 1 views
0

StrField에서 큰 값 (예 : 70k 문자)으로 질의하는 데 문제가 있습니다. 나는 문자열 형식으로 문서를 SOLR 4.4을 사용하고 있습니다 해요 :큰 값으로 StrFields를 쿼리하면 Solr 4.4에 문서가 없습니다.

<fieldType name="string" class="solr.StrField" sortMissingLast="true"/> 

과 필드 :이 저장된 것을

<dynamicField name="someFieldName_*" type="string" indexed="true" stored="true" /> 

주, 중요한 경우.

내 StrField 값의 길이는 최대 70K 자까지입니다.

내가 시도하는 쿼리는 someFieldName_1:*입니다. someFieldName_1의 길이가 < 32,767 문자 인 경우 잘 작동하고 해당 필드에 값이있는 다양한 문서가 반환됩니다.

그러나 내가 someFieldName_2:*someFieldName_2에 길이> = 32,767 인 값이 있으면 어떤 문서도 반환하지 않습니다. 을 알고 있지만 많은 문서의 값은 someFieldName_2입니다.

나는 *:*을 쿼리하고 (큰) 값이 someFieldName_2 인 문서를 보았 기 때문에 이것을 알고 있습니다.

StrField에서 쿼리 할 수있는 문자열의 길이에 제한이 있습니까? 32,767 = 2^15는 강력한 의심 스럽네요 =)

+1

solrconfig.xml에 LimitTokenCountFilterFactory가 구성되어 있습니까? randroid

+0

명부. solr.TextField를 사용하지 않는 이유가 있습니까? – kali

답변

0

Yonik은 Solr 사용자 메일 링리스트에서 "나는 이것이 인덱싱 된 토큰의 최대 크기라고 생각합니다."라고 대답했습니다. 그래서 행동이 다소 기대되는 것 같습니다.

그러나 다른 사용자는 오류가 없다는 버그 보고서를 열었습니다. "색인 시간에 오류가 발생하지 않는 이유를 파악하기 위해 버그를 열어 놓았지만 쿼리 타임의 동작 보이는 바 ... "

관련 문제