2013-04-01 3 views
0

у меня есть экземпляр ElasticSearch индексацию базы данных MongoDB, используя реку richardwilly98ElasticSearch индексация и ссылки на другие документы

Есть два типа документов, которые индексируются:

  • документы, ссылающихся пользователи
  • документы, представляющие пользователей

Когда эти объекты добавляются в mongodb richardwilly98's river генерирует что-то вроде следующего:

  • документ = { 'пользователь': { "$ ID": "5159a004c87126641f4f9530"}}
  • user_document = { '_id': "5159a004c87126641f4f9530", 'Имя пользователя': 'bob'}

Если я выполняю поиск по «bob», мне бы хотелось, чтобы какие-либо документы ссылались на документ bob, который должен быть возвращен. На данный момент этого не происходит, потому что поле имени пользователя никак не связано с ссылочными документами.

Возможно ли это? Есть ли у ElasticSearch ссылки на объекты?

Спасибо - дайте мне знать, если я не был чист.

ответ

2

Если каждый документ принадлежит не более чем одному пользователю, вы можете индексировать документы как children пользователей. Затем вы можете использовать фильтр has_parent для выполнения поиска. Однако, если один документ может принадлежать более чем одному пользователю, вам придется выполнить поиск в два этапа. Сначала вам нужно будет найти пользователя, а затем выпустить другой поиск, чтобы найти документы.

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