2013-04-15 5 views
9

में वाक्यविन्यास त्रुटि PSQLException: त्रुटि: tsquery में वाक्यविन्यास त्रुटि नहीं होगी? http://www.postgresql.org/docs/8.3/static/datatype-textsearch.htmlPSQLException: त्रुटि: tsquery

+0

तो, quer कहां है? –

+0

बहुत सारे प्रश्न हैं। वास्तव में वे गुप्त हैं और मुझे अपने प्रश्न के उत्तर से अधिक की आवश्यकता नहीं है: क्वेरी स्ट्रिंग से ठीक से कैसे बचें? – ideaboxer

उत्तर

18

अपने शब्दों के आसपास उद्धरण का उपयोग करें यदि आप उन्हें चाहते हैं के रूप में वाक्यांशों/शब्दशः या वे वर्ण वाक्य रचना में उपयोग किया गया:

select to_tsquery('"hello there" | hi'); 

नंगे प्रलेखन कैसे खोज स्ट्रिंग से बचने के लिए के बारे में कुछ नहीं कहा ध्यान रखें कि आपको वास्तव में अपने शब्दों में पागल पात्र नहीं होना चाहिए, क्योंकि वे tsvector में कुछ भी मिलान नहीं करेंगे।

(गैर टोकन) tsquery पार्सर द्वारा पहचानी चरित्र: \0 (शून्य), (, ), (सफेद स्थान), |, &, :, * और !। लेकिन आप अपनी क्वेरी को कैसे व्यवस्थित करते हैं इस पर आधारित होना चाहिए कि आपने अपना शब्दकोश कैसे सेट अप किया है। ऐसे कई अन्य पात्र हैं जिन्हें आप अपनी क्वेरी में नहीं चाहते हैं, न कि क्योंकि वे सिंटैक्स त्रुटि का कारण बनेंगे लेकिन इसका मतलब है कि आप अपनी क्वेरी को सही तरीके से टोकन नहीं कर रहे हैं।

अगर यह एक सरल AND क्वेरी है और आप मैन्युअल रूप से क्वेरी बनाने के साथ सौदा नहीं करना चाहता plainto_tsquery संस्करण का उपयोग करें।

+0

कृपया "पागल पात्र" को परिभाषित करें, फिर मेरे प्रश्न का उत्तर दिया गया है :-) – ideaboxer

+0

(मेरा प्राथमिक लक्ष्य PSQLException के किसी भी अवसर से बचने के लिए है क्योंकि किसी ने पागल पात्रों में प्रवेश किया है) – ideaboxer

+1

कोई भी वर्ण जो आपके शब्दकोश में प्रकट नहीं होता है। एक अंग्रेजी शब्दकोश के लिए मैं कहूंगा: '[^ ए-ज़ा-जे 0-9] == पागल'। –

संबंधित मुद्दे

 संबंधित मुद्दे