1

У меня есть требование, в котором я хочу искать два или более индекса поиска, когда конкретный запрос отправляется на поисковый сервер. Есть ли способ, в котором я могу коллективно искать два или более индекса поиска (все они индексируют разные вещи об одном и том же объекте, который выполняется поиск) и получают один набор ответов (ответ от двух или более индексов поиска) при использовании Lucene/Solr/Elasticsearch? Если это невозможно, я пытаюсь настроить что-то на уровне API, где индексы поиска абстрагируются от поисковых клиентов, где запрос отправляется в API & API под капотом запускает поиск параллельно двум или более искать индексы и объединяет результаты и отправляет их обратно?Внебиржевой поиск с использованием Lucene/Solr/ElasticSearch

Дело в том, что я не хочу изобретать колесо, если есть такая инфраструктура API, или даже если это возможно, используя Lucene/Solr/Elasticsearch из коробки или просто устанавливая плагин & Это?

ответ

1

Вы можете легко сделать это, используя поиск elastics. При поиске Вы можете назвать имена индексов в разделенные запятыми формате, как показано ниже -

curl -XPOST 'http://localhost:9200/index-a,index-b,index-c/_search -d '{ 
    "query": { 
    "match_all": {} 
    } 
}' 

Для удобства, вы можете также использовать aliases. Псевдоним может связываться с несколькими именами индексов, и вы можете использовать один псевдоним, чтобы говорить со всеми этими индексами

+0

Я думаю, что это решит проблему, которую я ищу. Как вы можете предложить любой подход, основанный на настройке, для одного и того же? Я не хочу добавлять зависимость от имен индексов, которые должны быть жестко привязаны к приложению, и я должен иметь возможность динамически добавлять/удалять индексы на ходу. Есть ли способ сделать это? – techcraver

+0

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

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