SOLR Search with Escaping Solr محفوظة
سؤال
كيف يمكنني استعلام الحقول التي تحتوي على كلمات رئيسية محجوز سولر باسم ":" في Solr؟
على سبيل المثال،
q = 'uri:http://www.example.com'
يلقي خطأ عن "http://www.example.com."تحتوي على كلمة محفوظة": "
المحلول
أنا فقط اختبرت هذا ويبدو أنه يهرب ببساطة ":" مثل ":" هل الخدعة:
q = 'uri:http\://www.example.com'
بالنسبة لي فهرس موقعي الخاص، أميل ببساطة عن تخزين مسار عنوان URL على الرغم من أنني أعرف المجال نفسي حتى لم تكن مشكلة بالنسبة لي من قبل. ولكن إذا قمت بفهرسة عناوين URL الخارجية، فأنت بحاجة إلى عنوان URL الكامل.
نصائح أخرى
الهروب / استبدال شخصيات Lucene المحجوزة أثناء الفهرسة وتخزين القيمة الأصلية في حقل منفصل (stored="true" indexed="false"
في المخطط). إذا قمت باستبدال الأحرف المحجوزة مع المساحة، فستحصل http www.example.com
في مجال مفهرسة و http://www.example.com
في المخزنة. اعتمادا على نوع الحقل المفهرس، ستتمكن من الاستعلام عن القيمة الدقيقة (إذا كانت سلسلة عادية) أو للرموز (إذا كان لديك محلل).