ElasticSearch фильтр массив идентификаторов хранится в одном столбце - PullRequest
0 голосов
/ 29 марта 2019

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

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

Я уже пытался сохранить массив идентификаторов вакансий в формате json, чтобы при его индексировании это было только 1 поле, но тогда я не уверен, как я смогу выполнить поиск / фильтрацию в ElasticSearch с помощьюзапрос, потому что это просто 1 значение.

  "index": "candidates",
  "body": {
    "highlight": {
      "fields": {
        "resume_contents": {},
      },
    },
    "query": {
      "bool": {
        "must": {
          "query_string": {
              "default_field" : 'resume_contents',
              "query"         : query,
              "fuzziness"     : 'AUTO'
          }
        },
        "filter": {
          "term": {
            "vacancy_ids": vacancyId
          },
        },
      },
    }

Конечный результат, который я хотел бы найти, - поиск вакансий для кандидатов, связанных с этой вакансией, имейте в виду, что эти кандидаты могут также принадлежать к другим вакансиям.

Я хотел бы хранить массив из 1 или более значений в одном столбце кандидатов и индексировать эти данные в ElasticSearch.Затем, когда я прихожу на какую-либо вакансию, я хотел бы отфильтровать кандидатов на основе той вакансии, которую я сейчас занимаю по ID.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...