سؤال

كيف يمكنني اختيار/حذف جميع المستندات من Solr باستخدام مفهوم NOT المنطقي؟

أي.كيف يمكنني حذف جميع المستندات من Solr الذي لا يبدأ معرفه بـ A59؟

هل كانت مفيدة؟

المحلول

استخدم - للإشارة NOT.

وعلى سبيل المثال، للاستعلام وثائق بالمعرف لا نبدأ مع A59، فسيكون الاستعلام: -id:A59*، وهذا هو: /solr/select/?q=-id:A59*

لحذف من قبل الاستعلام، إضافة الاستعلام في رسالة الحذف إلى معالج التحديث، على النحو المحدد <لأ href = "http://wiki.apache.org/solr/UpdateXmlMessages#head-f5553a8214869b11708ad5476e05e7b05a024c23" يختلط = "noreferrer" > هنا .

وتحرير: NOT (جميع الأحرف الكبيرة) يمكن أن تستخدم أيضا كمشغل منطقية

نصائح أخرى

وتعجب يعمل لNOT كذلك، لذلك:

/solr/select/?q=!id:A59*

ويجب أن تعمل في حالة أعلاه.

وأنا لا أعتقد أن حذف سلبية من يعمل الاستعلام. انظر هذا جيرة تذكرة: https://issues.apache.org/jira/browse/SOLR- 381

وانهم لا يقولون أن هناك مشكلة لبادئة في:، ولكن ليس لدي أي حظ في ذلك.

وهذا لا يعمل (نفس باستخدام NOT) جافا -Ddata = سائط جرة /opt/solr/example/exampledocs/post.jar "-userid: *" جافا جرة /opt/solr/example/exampledocs/post.jar *. XML

وإضافة في: يعطي خطأ لغوي (نفس باستخدام NOT) جافا -Ddata = سائط جرة /opt/solr/example/exampledocs/post.jar ": -userid: *" جافا جرة /opt/solr/example/exampledocs/post.jar *. XML

وSimplePostTool: الإصدار 1.4 SimplePostTool: المشاركة سائط ل HTTP: // المضيف المحلي: 8983 / المؤسسة العامة / تحديث .. SimplePostTool: FATAL: عاد المؤسسة العامة خطأ # 400 خطأ تحليل الاستعلام لوسين SimplePostTool: الإصدار 1.4

وقبل حذف يرجى التأكد من معرفات التي كنت تقصد هو سلسلة وبأي حال من الأحوال أن يتم تشكيلها من قبل فترتين مجتمعة. الطريقة أود أن تفعل ذلك تتم قراءة البيانات من المؤسسة العامة من السيناريو والقيام المفرد حذف أو على دفعات، لأنه يوفر عنصر تحكم والتصديقات أفضل على كل هويات مما يقلل من خطر الحذف الخطأ بالتالي 1 قراءة البيانات من المؤسسة العامة من برنامج نصي باستخدام / المؤسسة العامة / حدد / ف = معرف: A59 *

و2 التحقق والتحقق من صحة هويات

3 حذف واحدا تلو الآخر أو في مجموعة من 10 هويات في آن واحد

والتحيات

وراجات

موريسيو قال:

استخدم الرمز - للإشارة إلى ما تريد استبعاد في الاستعلام الخاص بك. والاستعلامات التاليين حذف كافة المستندات ما عدا تلك التي تبدأ مع A59.

GET http://<url>/solr/<core>/update?stream.body=<delete><query>-id:A59*</query></delete>
GET http://<url>/solr/<core>/update?stream.body=<commit/>

والسطر الأول لا عملية الحذف. السطر الثاني لا على ارتكاب.

استخدام الرمز - الموجود أمام الملفات للإشارة إلى استبعاد تلك القيمة المحددة.وسوف تعطي نتيجة مثل غير متساوي

ما يلي هو نموذج لسلسلة استعلام عنوان url حيث.لقد احتفظت "&fq=-HQ_City_Code:MEL",

وسوف تخطي كل النتيجة التي لها HQ_City_Code قيمة ميل.

http://localhost:8983/solr/HQ_SOLR_Hotels/select?q=*:*&fq=HQ_National_Code:TH&fq=HQ_TYPE:hotel_EN&fq=HQ_Country_Code:AU&**fq=-HQ_City_Code:MEL**&wt=json&indent=true
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top