2015-04-08 9 views
7

d:content türünde ek özelliği olan bir Alfresco model türüm var. Bu özellik, 32 KB'den büyük içeriği depolamaya çalıştığımda Solr istisnalarına neden olur. Bunun endeksi çalıştığında bu mülkte 32 KB, Solr bu istisnayı atar o içerik büyük koyarsanız bu özelliğin geçerli tanımDizin Oluşturma d: içerik özelliği içerik> 32 KB

<property name="acme:secondContent"> 
    <type>d:content</type> 
    <mandatory>false</mandatory> 
    <index enabled="true"> 
    <atomic>true</atomic> 
    <stored>true</stored> 
    <tokenised>both</tokenised> 
    </index> 
</property> 

olduğunu o:

java.lang.IllegalArgumentException: Document contains at least one immense term in field="[email protected][email protected]{http://acme.com/model/custom/1.0}secondContent" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer to not produce such terms. 

index yapılandırmayı gelmez değiştirme Yardım, hata index tüm çeşitleri ile denedim ve denedim alt elemanları.

another question yılında cevaplanır: altta yatan Lucene endeksinde tek dönem için

maksimum boyut sert kodlanmış inanıyorum olan 32.776 bayt.

nasıl yapılandırabilirim ben kaydetmek ve 32 KB boyutundan büyük indeks içeriği böylece bir d:content mülkiyet index?

Düzenleme:

contentModel.xml yılında cm:content böyle yapılandırılır: daha büyük 32 KB sorunsuz çalışan içeriğe sahip bir basit text/plain dosya ekleme

<index enabled="true"> 
    <atomic>true</atomic> 
    <stored>false</stored> 
    <tokenised>true</tokenised> 
</index> 

.

Özel mülküm için aynı index yapılandırması hala başarısız oluyor.

Güncelleme: Alfresco 4.2fCE Altında

, sorun oluşmaz yapar. Yani bu Solres 4.1.9 ile birlikte Alfresco 5.0c'de bir hatadır.

Güncelleme 2:

Ben filed a bug in the Alfresco JIRA ettik.

+1

'' ayarlarında silmek için yeterli değildim. Bu alanın içeriği nedir? Yalnızca jetonlanmış formda varsa, herhangi bir şey kaybeder misiniz? Dize formunda olması, sıralama ve yüzleşmeye izin verir. Bu alan için gerekli mi? – cheffe

+0

Hayır, sıralama ve faceting gerekli değildir. Biraz daha kombinasyonları deneyeceğim. –

+0

cm'yi genişletememenizin bir nedeni var mı: içerik, d: content özelliği içeriyor mu? – crownjewel82

cevap

2

Bu çözüm, dokümanın/bölümün tamamını dizinde saklamak değildir. Bu nedenle, deposu = true ve tokenize = büyük /> 32k olan büyük özelliklerde her ikisi/false değerini deneyin.

<property name="acme:secondContent"> 
    <type>d:content</type> 
    <mandatory>false</mandatory> 
    <index enabled="true"> 
    <atomic>true</atomic> 
    <stored>false</stored> 
    <tokenised>true</tokenised> 
    </index> 
</property> 

dezavantajı: modeliniz beyanı gibi görünüyorsa İndeksleme çalışması gerekir benim testte ben bütün indeksi bırakmak zorunda kaldı. Önbelleğe alınmış modelleri solr

5

benzer vadeleri çok uzun (uzunluk 32k ile tek kelime) içeren içeriği varsa Hipotez, metnin belirli tip desteklemek için kendi Lucene analizörleri uygulamak zorunda. Bu, sabit kodlanmış olduğu için varsayılan Lucene uygulamasıyla ilgili bir problem olduğu anlamına gelir.

Hipotez 2

içerik yukarıdaki şekilde yapılandırılmıştır değilse Aksi halde bana garip sesler ve muhtemelen bir hata olabilir. Tokenised = true kullanarak çözmüyorsanız, bu durumda, olası bir geçici çözüm, ana düğüm ile ilgili metni içeren ancak varsayılan cm'yi kullanan belirli düğüm türü arasındaki ilişkiyi desteklemek için içerik modelini değiştirmeye dayalı olabilir: içerik özelliğiÇözmeniz gereken dernekleri kullanmak demek istiyorum;)

Bu yardımcı olur umarım.

+0

Hipotez 1 devre dışı bırakılabilir. Hata, normal bir lorem ipsum metni ile oluşur. İçerik modelini hipotez 2'de önerdiğiniz gibi değiştirme seçeneğim yok. Varolan Alfresco 4.2 yüklemeleri 5.0'a taşınmalıdır. Alfresco JIRA'da bir hata yapacağım. –