2010-04-28 19 views
7

में बिगडिसीमल मानों को कैसे अनुक्रमणित करें मेरे पास कुछ बिगडिमेमल मान हैं जिन्हें खोज के लिए अनुक्रमित किया जाना चाहिए। ल्यूसीन में न्यूमेरिकफिल्ड है लेकिन इसमें केवल लंबे, डबल, फ्लोट और इंट के लिए सेटर्स हैं। मैं इसे एक स्ट्रिंग के रूप में स्टोर कर सकता हूं लेकिन फिर मुझे न्यूमेरिकरेंजQuery से लाभ नहीं होगा।ल्यूसीन 3.0.1

आपने अपने BigDecimals को कैसे संग्रहीत किया है? साझा करने के लिए कोई भी सर्वोत्तम प्रथाओं?

उत्तर

1

स्टीवन रोवे इस पोस्ट में दिलचस्प विचार प्रदान करता है:
http://www.lucidimagination.com/search/document/ad648772f8825a28/bigdecimal_values#2502f96055839c3d

वह कहता है कि उसकी योजना शायद सब BigDecimal मूल्यों का प्रतिनिधित्व करने के लिए इस्तेमाल किया जा सकता। यदि आपको नकारात्मक मानों की आवश्यकता नहीं है तो इसे लागू करना आसान लगता है। दिमाग की तरह सुझाव दिया गया है, आप इसे लागू करने के लिए सारफिल्ल्ड का विस्तार कर सकते हैं।
http://www.lucidimagination.com/search/document/ad648772f8825a28/bigdecimal_values#cef1d0e25af063ef

+5

हाय, हाइपरलिंक काम नहीं कर रहा:

भी Yonik Seeley जो कहते हैं कि वे वर्ग BCDUtils साथ उस के लिए Solr में कुछ काम शुरू कर दिया है नहीं है। –

3

बाकी सब विफल रहता है, पर विचार AbstractField (कैसे NumericField यह फैली हुई है के समान), TokenStream (कैसे NumericTokenStream यह फैली हुई है के समान) और MultitermQuery (कैसे NumericRangeQuery यह फैली हुई है के समान) का विस्तार। सभी तीन संख्यात्मक * कक्षाएं दुर्भाग्य से अंतिम हैं इसलिए उन्हें अपने आप में विस्तारित नहीं किया जा सकता है :(अच्छी खबर यह है कि इन वर्गों में तर्क काफी मामूली है और इसे BigDecimals के लिए पुनः लोड करना आसान होना चाहिए।

डेटा संग्रह एक स्ट्रिंग में तो यह और भी NumericField भंडार के रूप में तुच्छ है जावाडोक से:।

नोट:। इस वर्ग के केवल अनुक्रमण के दौरान प्रयोग किया जाता है जब खोज के बाद एक दस्तावेज़ उदाहरण से संग्रहीत फ़ील्ड मान पुन: प्राप्त करने के लिए, आप एक पारंपरिक मिल जाएगा फ़ील्ड करने योग्य उदाहरण जहां संख्यात्मक मान स्ट्रिंग्स के रूप में लौटाए जाते हैं (प्रयुक्त डेटा प्रकार के टूस्ट्रिंग (मान) के अनुसार)

यदि आप उस मार्ग पर जाएंगे, तो लुसेन डेवलपर्स को पैच भेजने का प्रयास करें या कम से कम एक जेआईआरए अनुरोध भरें। लुसीन देव आमतौर पर अच्छे और खुले लोग होते हैं ताकि इससे दूसरों को भी फायदा हो सके।