ยกเว้นคำในแบบสอบถามตัวกรอง elasticsearch_dsl

ไวยากรณ์แบบสอบถาม dsl ที่จะแยกคำออกจากแบบสอบถามตัวกรองคืออะไร ในตัวอย่างนี้ด้านล่างนี้ ฉันจะแก้ไขแบบสอบถามเพื่อรวมทุกอย่างในช่องยกเว้น "ใช่" ได้อย่างไร

s = s.filter('terms', field=['yes'])

person Arun Ramachandran    schedule 26.08.2017    source แหล่งที่มา


คำตอบ (1)


คุณทำได้:

s = s.exclude('terms', field=['yes'])
person Honza Král    schedule 26.08.2017
comment
มันจะช่วยเหลือ OP และผู้ใช้ SO อื่นๆ หากคุณสามารถเพิ่มคำอธิบายโค้ดของคุณได้ - person BusyProgrammer; 27.08.2017
comment
สวัสดี Honza ฉันเคยลองแล้วก่อนหน้านี้ แต่มันทำให้ AttributeError: 'Search' object has no คุณลักษณะ 'exclude' ตอนนี้ฉันรู้แล้วว่าฉันกำลังทำงานกับเวอร์ชัน 2.x เพิ่งอัปเดตเป็น 5.x และใช้งานได้ ขอบคุณมาก! - person Arun Ramachandran; 27.08.2017