2012-08-09 21 views
15

Tôi muốn trong phần thứ hai của truy vấn của tôi để có một danh sách các kết quả cho trong khi dữ liệu không null. Tôi tìm thấy làm thế nào để nó trong solr nhưng không phải trong lucene. Bất cứ ai có một ý tưởng Cảm ơnLàm thế nào để truy vấn lucene cho các trường trống?

String:

(field_one: tìm kiếm VÀ field_two: 3000) OR (field_three: tìm kiếm VÀ field_two: 3000 VÀ NOT NULL field_one)

Query:

+ field_one: search + field_two: 3000 + field_three: search + field_two: 3000 -field_one: null

Trả lời

14
*:* -MY_FIELD_NAME:[* TO *] 

Ở trên nên làm điều đó, lưu ý *: * cho Lucene.

+0

Tôi thử đề xuất của bạn nhưng điều đó không hiệu quả. Cho rằng thuộc tính mà tôi sẽ muốn cho dù nó không phải là null không được lập chỉ mục khi không có giá trị được cung cấp, yêu cầu không quản lý để xử lý nó, tôi giả sử. –

+0

để làm việc ở trên, trường cần tồn tại (chỉ khác biệt giữa NULL và Non NULL (chuỗi rỗng) – Mikos

5
*:* -MY_FIELD_NAME:[* TO "zzzzzzzzzz"] 

Bạn có thể thêm nhiều ký tự "z" để đảm bảo bao gồm bất kỳ giá trị nào của trường.

+0

Thật không may, "zzzzzzzzzzz" không tính đến các ký tự không phải chữ và số. –

Các vấn đề liên quan