मैं कुछ डेटा के साथ एक सोलर इंडेक्स सेट करने की कोशिश कर रहा हूं, हालांकि मैं अपने क्षेत्र में से एक को पाइप को सीमित कर दूंगा और इसे सोलर एंड पर विभाजित कर दूंगा।डिलिमीटर पर सोलर इंडेक्सिंग स्प्लिटिंग फील्ड
<doc>
<add>
<field name="cat">a|b|c<field>
</add>
</doc>
एक बहु महत्वपूर्ण क्षेत्र के लिए
<field name="cat" type="str_split_on_pipe" indexed="true" stored="true" multiValued="true" omitNorms="true" />
रूप में घोषित किया और पाइप प्रकार पर विभाजन
<fieldType name="str_split_on_pipe" class="solr.TextField" positionIncrementGap="100" >
<analyzer type="index">
<tokenizer class="solr.PatternTokenizerFactory" pattern="\|\s*" />
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>-->
<!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
possible with WordDelimiterFilter in conjuncton with stemming. -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.PatternTokenizerFactory" pattern="\|\s*" />
<filter class="solr.LowerCaseFilterFactory"/>
<!--<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>-->
<!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
possible with WordDelimiterFilter in conjuncton with stemming. -->
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
मैं इस एक ही होने की अपेक्षा करेंगे जैसे मैं दस्तावेज़ भेज है तीन अलग cat
फ़ील्ड के साथ, हालांकि यह बहुत कुछ नहीं लगता है और केवल मेरी पाइप से अलग सूची लौटता रहता है।
क्या मैं संभव करने की कोशिश कर रहा हूं, और यदि ऐसा है तो मैं गलत कहां गया हूं?
धन्यवाद, अमर
धन्यवाद, 'डेटा इंपोर्ट हैंडलर' बस यही था जो मैं बाद में था! – amarsuperstar
याद रखें कि RegexTransformer एक रेगेक्स है इसलिए यदि आपको उदाहरण के लिए पाइप द्वारा विभाजित करने की आवश्यकता है, तो आपको उन्हें बचाना होगा (splitBy = "\ |") – KinSlayerUY