Trong ElasticSearch, bạn có thể tách dữ liệu bằng cách lập chỉ mục thành các chỉ mục riêng biệt, sau đó giới hạn truy vấn của bạn vào một chỉ mục cụ thể.
Ví dụ, nếu bạn có hai chỉ số, 'foo' và 'bar' chạy:
% curl -XGET http://localhost:9200/_search?q=*:*
sẽ tìm kiếm toàn bộ cụm, trong khi:
% curl -XGET http://localhost:9200/foo/_search?q=*:*
sẽ tìm kiếm chỉ là 'foo ' mục lục.
Bạn cũng có thể dữ liệu riêng biệt theo loại, nếu bạn tạo một chỉ số 'test' như sau:
% curl -XPOST http://localhost:9200/test -d '{
"mappings" : {
"type1" : {
"_source" : { "enabled" : false },
"properties" : {
"field1" : { "type" : "string", "index" : "not_analyzed" }
}
},
"type2" : {
"_source" : { "enabled" : false },
"properties" : {
"field1" : { "type" : "string", "index" : "not_analyzed" }
}
}
}
}'
Bạn có thể tìm kiếm chỉ các văn bản 'type1' bằng cách xác định các loại với truy vấn:
% curl -XGET http://localhost:9200/test/type1/_search?q=*:*
Vì vậy, nói rằng tôi có nhiều khách hàng; 'loại' có thể là id khách hàng/tổ chức của họ trong ngữ cảnh này? – thinice
@thinice yes, bạn có thể chọn tách riêng từng khách hàng thành một loại. Hoặc, tùy thuộc vào cấu hình và số lượng khách hàng của bạn, bạn có thể chọn tách từng khách hàng thành một chỉ mục riêng biệt. – thnetos
Rực rỡ - cảm ơn :) – thinice