2016-09-15 5 views
0

я создал один узел (shrd1) в Solr и создали одно ядро ​​внутри, что и запустить следующую командуSOLR не поиск по всем Осколки

..solr-5.1.0 \ Bin> solr.cmd -s solr/shrds/shrd1 -p 8886 -f

и импортировать данные, которые имеют идентификатор и имя как поле и запрашивают то же самое, и он работает нормально.

Затем я создал еще один узел (shrd2) в Solr и создал одно ядро ​​внутри, что и запустите следующую команду

..solr-5.1.0 \ Bin> solr.cmd -s Solr/shrds/shrd2 -p 8887 -f

и импортировать данные, которые имеют идентификатор и имя как поле и запрашивают то же самое, и он работает нормально.

Теперь пытается для распределенного поиска, поэтому пытался ниже вещь браузера,

http://localhost:8887/solr/souro_core2/select?q=name:souro&indent=true&shards=localhost:8886/solr/souro_core1,localhost:8887/solr/souro_core2

(Оба Осколки возникли имя Souro, поэтому она должна возвращать результат два правильно?) Но вместо возврата двух результатов, результат получается только из одного осколка.

Не могли бы вы предоставить мне сообщить, что мне недостает? Почему я не получаю результат от всех осколков, почему я только получаю от одного осколка?

P.S. - Я следовал ссылке ниже для того же,

https://cwiki.apache.org/confluence/display/solr/Distributed+Search+with+Index+Sharding

+0

Я думаю, вы должны использовать SolrCloud для ошпаривания - по ссылке, которую вы дали: «Настоятельно рекомендуется использовать SolrCloud при необходимости масштабирования или масштабирования. Настройка, описанная ниже, является устаревшей и использовалась до существования SolrCloud.« –

+0

Я знаю, но до этого я пытался достичь этого, не используя облако. – souro

ответ

0

Наконец-то я получил свой ответ. В обоих осколках было поле «id», и оба они содержали значение 1. Но после изучения бит я узнал, что

Идентификатор должен быть уникальным по всем ядрам. Уникальное ключевое поле должно быть уникальным для всех осколков. Если обнаружены документы с повторяющимися уникальными ключами, Solr попытается вернуть действительные результаты, но поведение может быть недетерминированным.

Ссылка: Search across multiple cores and get unified result

В моем случае это возвращается только один результат. Я изменил значение id и получил результат, как ожидалось.

0

Попробуйте

http://localhost:8887/solr/souro_core2/select?q=name:souro&indent=true&shards=shard1,shard2 

Это должно работать Если у вас есть коллекция с именем souro_core2, который имеет два осколка.

+0

Он не работает из-за очевидной причины, по которой я не дал осколки их логического имени, как shard1 и shard2. Но как он отличается от имени Я дал данные о чарде (например, host: port ..). – souro

Смежные вопросы