2016-03-21 5 views
0

При поиске с маршрутизацией это также дает мне данные различных ключей маршрутизации. Пожалуйста, помогите мне.elasticsearch routing on single field

Я установил маршрутизацию в v2.0 и я опрошен запросе с ключом маршрутизации, ниже приведен пример:

GET myindex/mytype/_search?routing=5 
{ 
    "query": { 
    "match_all": {} 
} 
} 

У меня есть данные поиска с маршрутизацией ключа = 5, но выхода я получаю было:

hits": [ 
    { 
     "_index": "goqii", 
     "_type": "nazar", 
     "_id": "2047", 
     "_score": 1, 
     "_routing": "10", 
     "_source": { 
      "userId": "111239", 
      "activityId": "765982", 
      "activityUserId": "111239", 
      "activityType": "water", 
      "commentText": "kinu juice", 
      "status": "delievered", 
      "createdTime": "2016-01-13 13:28:54" 
     } 
    }, 
    { 
     "_index": "goqii", 
     "_type": "nazar", 
     "_id": "2046", 
     "_score": 1, 
     "_routing": "5", 
     "_source": { 
      "userId": "110554", 
      "activityId": "251449", 
      "activityUserId": "110554", 
      "activityType": "activity", 
      "commentText": "did home cycling yesterday for 20mins", 
      "status": "delievered", 
      "createdTime": "2016-01-13 12:04:31" 
     } 
    } 

Он дает мне ключ маршрутизации: 5 & Маршрутизирующий ключ: 10 данных обоих данных.пожалуйста, помогите мне, если я делаю что-то неправильно.

+0

Используйте POST при отправке запроса в полезной нагрузке – Val

+0

Это дает мне тот же результат. –

+0

Какой клиент вы используете для отправки запроса? – Val

ответ

0

Маршрутизация не гарантирует, что все элементы на осколке будут иметь один и тот же ключ маршрутизации, это будет make sure that all the docs that share a routing key are all on the same shard.

маршрутизация является процессом определения того, какой осколок, что документ будет находиться в.

Сколько Осколков у вас в индексе? По умолчанию оно равно 5.

Сценарий кажется, что у вас есть количество черепов по умолчанию в вашем индексе.

Схема маршрутизации хэширует идентификатор документа и использует его для обнаружения осколка . Маршрутизация гарантирует, что документы определенного значения маршрутизации переходят в один и тот же осколок ... но это не означает, что другие документы также не маршрутизируются в осколок.

В вашем случае оба пользователя «110554» и «111239» могут присваиваться одному и тому же осколку, следовательно, поведение.

+0

У меня есть 10 осколков. –

+1

KK0608: можете ли вы указать, есть ли у вас 5 первичных + 5 реплик или 10 первичных + 10 реплик. В первом случае ответ @ rahulroc имеет смысл. – Val

+0

@ KK0608, можете ли вы указать настройки индекса, чтобы я мог проверить точное количество осколков – Rahul