Как передать несколько параметров в строку запроса для получения результатов на основе параметров строки запроса в elasticsearch - PullRequest
0 голосов
/ 17 июня 2020

В настоящее время при поиске номеров ветвей, например, при поиске 051, результат поиска показывает результат для номера ветки 051, как и ожидалось. Для поиска с ведущими нулями я хочу, чтобы поиск branch_number 051 включал результаты для 051 and 51, поиск branch_number 011, чтобы получить результаты для 011 and 11

Вот моя текущая реализация

def full_text_options(query_string)
  query = {
    type: self.class.mapping_type,
    body: {
      query: {
        bool: {
          must: []
        }
      },
      sort: [{ branch_number: 'asc' }]
    }
  }

  filter_by_query(query, query_string)
  query
end


def filter_by_query(query, query_string)
  if query_string.present?
    query[:body][:query][:bool][:must] << {
      multi_match: {
        query: query_string,
        fields: [
          'branch_number^3',
          'state_province^2',
          'city',
          'postal_code'
        ],
        type: 'phrase_prefix'
      }
    }
  end
end
...