Вы можете игнорировать детали отображения, используя filter_path
, который можно использовать для уменьшения ответа, возвращаемого запросом.
например. если вы нажмете:
GET geo/_search
{
"query": {
"match_all": {}
}
}
Вы получите:
{
"took" : 8,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 206,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : "geo",
"_type" : "_doc",
"_id" : "ALLE",
"_score" : 1.0,
"_source" : {
"dateFrom" : null,
"aListRemoved" : [ ],
"phone" : "0036-1-424-2242",
...
Но если вы используете filter_path
:
GET geo/_search?filter_path=hits.hits._source
{
"query": {
"match_all": {}
}
}
Вы получите результаты без количества осколков, отношений попаданий, max_score и т. Д .:
{
"hits" : {
"hits" : [
{
"_source" : {
"dateFrom" : null,
"aListRemoved" : [ ],
"phone" : "0036-1-424-2242",
...
Дополнительный вопрос не может быть дан ответ просто потому, что вам нужно описать, что вы хотите сделать, и какие запросы вы планируете использовать. Чтобы пропустить скоринг (если он вам не нужен) и повысить производительность, вы можете использовать, например, запросы filter
и constant_score
.
Некоторые рекомендации по настройке кластера ES
для скорости поиска описаны здесь