इस लेख में हम चर्चा करते हैं कि कैसे स्कीमलेस दस्तावेज़ों का उपयोग पर्कोलेट प्रश्नों में किया जा सकता है।
पर्कोलेट प्रश्न सुविधाएँ केवल पूर्ण-पाठ मेलों को संग्रहीत करने की अनुमति नहीं देतीं, बल्कि नियमित विशेषता छानने की भी अनुमति देती हैं।
2.7.0 तक यह एकल संख्या विशेषता स्थिति तक सीमित था।
अब छानना string और JSON विशेषताओं के साथ कार्य कर सकता है। JSON छानने में दिलचस्प बात यह है कि आप स्टोर किए गए प्रश्नों के खिलाफ स्कीमलेस दस्तावेज़ों का परीक्षण कर सकते हैं। छानना अब कई विशेषता छानने और व्यक्तियों के उपयोग का समर्थन करता है, जो अधिक जटिल संग्रहीत मानदंडों की अनुमति देता है।
mysql> insert into pq (query,filters) values('orange', 'j.price - 1 > 3');
mysql> insert into pq (query,filters) values('orange', 'j.price - 1 > 3 OR j.tag IS NOT null');
mysql> insert into pq (query,filters) values('orange', 'j.price - 1 > 3 OR any (x=\'test\' for x in j.tag)');
mysql> CALL PQ ('pq', ('{"title":"orange","id":10, "j":{ "price":5 } }',
'{"title":"orange","id":11, "j":{ "price":3 } }',
'{"title":"orange","id":12, "j":{ "tag":5 } }',
'{"title":"orange","id":13, "j":{ "tag":["test"] } }' ),
1 as docs, 1 as docs_json, 1 as query , 'id' as docs_id);
+------+-----------+--------+------+---------------------------------------------------+
| UID | Documents | Query | Tags | Filters |
+------+-----------+--------+------+---------------------------------------------------+
| 4 | 10 | orange | | j.price - 1 > 3 |
| 5 | 10,12,13 | orange | | j.price - 1 > 3 OR j.tag IS NOT null |
| 6 | 10,13 | orange | | j.price - 1 > 3 OR any (x='test' for x in j.tag) |
+------+-----------+--------+------+---------------------------------------------------+
3 rows in set (0.00 sec)
MVA विशेषताओं का समर्थन 2.7.1 रिलीज़ में आ रहा है।
स्कीमलेस डेटा पर पूर्ण-पाठ मेल खोलने का समर्थन अभी तक नहीं है, हम भविष्य में इसे जोड़ने की योजना बना रहे हैं। फिलहाल, जिन पाठ प्रॉपर्टीज़ को पूर्ण-पाठ मिलान की आवश्यकता है, उन्हें अलग-अलग पाठ क्षेत्रों में निकाला जाना चाहिए।