Не уверен, почему вы получаете разные результаты для приведенных выше сопоставлений. По сути, оба отображения должны давать одинаковые результаты, поскольку они одинаковы для поля pan_no . Я проверил приведенные выше сопоставления в моей локальной среде, и я получаю те же результаты. По умолчанию для анализатора типа текста используется стандартный анализатор, и он выдаст результат для запроса (в соответствии с вашими примерами данных):
{
"query":{
"match":{
"pan_no":"ABCDEGFTY"
}
}
}
Теперь, когда я ввожу pan_no как ABCD, он должен вернуть мне вышеуказанный документ.
blockquote>pan_no, так как ABCD не даст никаких данных для вашего образца, так как по умолчанию используется стандартный анализатор.
Вы захотите использовать новый как такой:
int *myArray = new int[SIZE];
Я также упомяну другую сторону этого на всякий случай....
Начиная с Вашего перехода от стека до "кучи" необходимо будет также очистить эту память, когда Вы будете сделаны с ним. На стеке память будет автоматически очистка, но на "куче", необходимо будет удалить его, и начиная с массив, необходимо использовать:
delete [] myArray;
Больше C++ способ сделать его должно использовать вектор. Затем Вы не должны волноваться об удалении памяти, когда Вы сделаны; вектор сделает это для Вас.
#include <vector>
std::vector<int> v(262144);
Как число не обязательно известно во время компиляции, тип является указателем:
int *myArray = new int[262144];
new
выделяет на "куче".
#define SIZE 262144
int * myArray = new int[SIZE];
Я верю
#define SIZE 262144
int *myArray[SIZE] = new int[262144];
должен быть
#define SIZE 262144
int *myArray = new int[262144];
или еще лучше
#define SIZE 262144
int *myArray = new int[SIZE];
Причина первая попытка не работала, состоит в том, что синтаксис является неправильным. Попробуйте это:
int *myArray = new int[SIZE];
Ваш синтаксис для использования new
было неправильным, это должно быть:
int *myArray = new int[262144];
только необходимо поместить размер справа от присвоения.
Однако при использовании C++, Вы могли бы хотеть посмотреть на использование std::vector
(который Вы будете иметь), или что-то как boost::scoped_array
сделать управление памятью немного легче.