प्रिय stackoverflow समुदाय के साथ एक टैग बादल का निर्माण:Solr
कुछ पाठ देखते हुए, मैं पाठ में टॉप 50 सबसे लगातार शब्द पाने के लिए, और इसे से बाहर एक टैग बादल बनाने के लिए, और इस प्रकार का सार दिखाने इच्छा ग्राफिकल तरीके से पाठ क्या है।
टेक्स्ट वास्तव में प्रत्येक आइटम के लिए 100 या तो टिप्पणियों का एक सेट है (एक तस्वीर) लगभग 120 आइटम हैं, और मैं बादल को अद्यतन रखना चाहता हूं - टिप्पणियों को अनुक्रमित करके, और क्लाउड का उपयोग करके हर बार एक नया वेब अनुरोध चालू होने के लिए पीढ़ी कोड चलाने के लिए।
मैं टेक्स्ट को इंडेक्स करने के लिए सोलर का उपयोग करने पर बस गया, और अब सोच रहा हूं कि सोलर TermsVectorComponant से शीर्ष 50 शब्द कैसे प्राप्त करें। यहाँ शर्तों वेक्टर componant द्वारा लौटाए गए परिणामों का एक उदाहरण है, के बाद आप tv.tf="true"
कह कर अवधि आवृत्ति पर बारी:
- मैं सभी मिलती है:
<lst name="doc-5"> <str name="uniqueKey">MA147LL/A</str> <lst name="includes"> <lst name="cabl"><tf>5</tf></lst> <lst name="earbud"><tf>3</tf></lst> <lst name="headphon"><tf>10</tf></lst> <lst name="usb"><tf>11</tf></lst> </lst> </lst> <lst name="doc-9"> <str name="uniqueKey">3007WFP</str> <lst name="includes"> <lst name="cabl"><tf>5</tf></lst> <lst name="usb"><tf>4</tf></lst> </lst> </lst>
आप देख सकते हैं मैं 2 समस्या है दस्तावेज़ के भीतर शब्द, उस फ़ील्ड के लिए, न केवल शीर्ष 100
- और वे आवृत्ति द्वारा क्रमबद्ध नहीं हैं, इसलिए मुझे नियमों को प्राप्त करना होगा और यह कोशिश करने के लिए इसे स्मृति में सॉर्ट करना होगा।
क्या कोई बेहतर तरीका है? (या) क्या मैं किसी भी तरह से सॉल्वर टर्मवेक्टर घटक को सॉर्ट कर सकता हूं और मेरे लिए केवल 100 चुन सकता हूं? (या) क्या कोई अन्य ढांचा है जिसका मैं उपयोग कर सकता हूं? मुझे आने वाली नई टिप्पणियों को अनुक्रमित रखने की आवश्यकता है, इसलिए टैग क्लाउड हमेशा अपरिवर्तित होता है - क्लाउड जनरेटर के रूप में यह भारित शब्दों का एक शब्दकोश लेता है, और इसे एक अच्छी छवि में बनाता है।
This उत्तर मदद नहीं करता है। ,
select?q=Id:d4439543-afd4-42fb-978a-b72eab0c07f9&facet=true
&facet.field=Post_Content&facet.minCount=1&facet.limit=50
<int name="also">1</int>
<int name="ani">1</int>
<int name="anoth">1</int>
<int name="atleast">1</int>
<int name="base">1</int>
<int name="bcd">1</int>
<int name="becaus">1</int>
<int name="better">1</int>
<int name="bigger">1</int>
<int name="bio">1</int>
<int name="boot">1</int>
<int name="bootabl">1</int>
<int name="bootload">1</int>
<int name="bootscreen">1</int>
मैं 50 ऐसे तत्वों मिला सीमा की मदद करने के लिए धन्यवाद @jpountz: -
संपादित jpountz & paige कुक के जवाब
यहाँ बाहर की कोशिश कर रहा एक परिणाम है जो मुझे इस प्रश्न के लिए मिल गया है परिणाम, लेकिन व्यक्तिगत <int>
तत्वों की सभी फिफ्टी मूल्य क्यों मानती है? मेरे विचार हैं: संख्या 1 मेरी क्वेरी से मेल खाने वाले दस्तावेज़ों की गिनती का प्रतिनिधित्व करता है (जो केवल आईडी द्वारा पूछे जाने वाले प्रश्नों में से एक हो सकता है: और वे Post_Content
में यह साबित करने के लिए शब्दों की आवृत्ति का प्रतिनिधित्व नहीं करते हैं I ईद हटाया: क्वेरी और परिणाम से GUID था:
<int name="content">33</int>
<int name="can">17</int>
<int name="on">16</int>
<int name="so">16</int>
<int name="some">16</int>
<int name="all">15</int>
<int name="i">15</int>
<int name="do">14</int>
<int name="have">14</int>
<int name="my">14</int>
मेरे समस्या कैसे दस्तावेज़ में अवधि आवृत्ति, और नहीं कई शर्तों के दस्तावेज़ आवृत्ति प्राप्त करने के लिए है। उदाहरण के लिए, मुझे एक तथ्य के बारे में पता है कि बूट करने योग्य एक शब्द था जिसे मैंने पोस्ट_कॉन्सेन्ट में 6 बार इस्तेमाल किया था, इसलिए मैं दस्तावेजों के एक सेट के लिए जोड़े (6, "बूट करने योग्य"), (5, "डिस्क") जैसे सॉर्ट करना चाहता हूं।
विशेष रूप से कार्यात्मक क्वेरी कि हम इस उद्देश्य के लिए, का उपयोग कर सकते है? – Zasz