Tôi hiện đang chạy cặp máy khách/máy chủ Solr đang hoạt động tốt.Cách chính xác để thêm tham số truy vấn tùy chỉnh trong Solr
Tuy nhiên, trong một số trường hợp, truy vấn bộ lọc (tham số fq
) được gửi tới Solr khá lớn (có thể là hàng nghìn ký tự) và không thể cắt bớt được. Khi phân tích cú pháp truy vấn mất only a fraction of the overall time, tôi muốn thử nghiệm với việc nén phần truy vấn này và gửi nó tới Solr.
Tôi đã nghĩ đến việc sửa đổi ứng dụng khách thay vì fq
nó sử dụng thông số khác (ví dụ: zfq
). Solr sau đó có thể quyết định - nếu nó nhận được zfq
, nó sử dụng nó và giải mã dữ liệu thành fq
. Nếu không, nó sẽ hoạt động như bình thường.
Cách tiêu chuẩn để đạt được điều này là gì? Có vẻ như có SearchHandler
, requestHandler
, <queryParser
(cả trong solrconfig.xml) và nhiều người khác và tôi không hoàn toàn chắc chắn điều gì ít xâm phạm nhất. Tôi khá tự tin với Lucene/Tomcat nhưng không biết nhiều về cấu trúc dữ liệu Solr.
Hàng nghìn ký tự trong một 'fq' đơn có vẻ không đúng. Thay vì cố gắng giải quyết những hạn chế, hãy tự hỏi * tại sao * bạn đang đánh những giới hạn đó. Mô tả vấn đề * thực * của bạn. –
Vấn đề thực sự nằm ngoài phạm vi của câu hỏi này. Nhưng nếu bạn muốn nghe nó - chắc chắn, không có vấn đề! Độ dài đến từ cách thực hiện quyền. Đối với khách hàng có bộ quyền rộng, truy vấn bộ lọc trông giống như sau: "*: * -category: 1 AND -thể loại: 2 VÀ ... -category: N". Đó là một ứng cử viên hoàn hảo cho nén như mô hình lặp đi lặp lại. – mindas
bạn đã thấy vấn đề JIRA này về bảo mật cấp tài liệu chưa? https://issues.apache.org/jira/browse/SOLR-1834 –