Я написал JAVA код, который запрашивает индекс поиска Elasti c (обслуживается Elasti c Cloud - хотя я не думаю, что это актуально для этого вопроса).
Без условий запроса , функция возвращает все документы в индексе, как и ожидалось.
Когда я добавляю поисковый запрос с синтаксисом QueryBuilder Elasti c (это часть клиента REST Elasti c High Level для JAVA), совпадений не найдено.
RestHighLevelClient client = createHighLevelRestClient();
int numberOfSearchHitsToReturn = 100; // defaults to 10
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
sourceBuilder.size(numberOfSearchHitsToReturn);
sourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
String[] includeFields = colNames.toArray(new String[colNames.size()]);
String[] excludeFields = new String[] {}; // just need an exclude field in order to call
// fetchSource
sourceBuilder.fetchSource(includeFields, excludeFields);
sourceBuilder.from(offset);
sourceBuilder.size(limitParam);
sourceBuilder.query(QueryBuilders.termQuery("firstname", query));
SearchRequest searchRequest = new SearchRequest("contacts_" + list_id).source(sourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHit[] hits = searchResponse.getHits().getHits();
совпадений пусто, даже когда query = "RICARDO", и у меня действительно есть документ в этом индексе со значением "ricardo" в поле имени. Регистр не имеет значения ... установка запроса на "ricardo" также не возвращает совпадений.
Почему это так?
Это проблема с моей реализацией REST-клиента высокого уровня библиотека, потому что запрос работает как положено в POSTMAN ...
GET https://elastic:hWWVNZEk<hidden>7a6620ba18623.us-east-1.aws.found.io:9243/contacts_6/_search
{
"query":
{
"term":
{
"firstname":
{
"value": "ricardo"
}
}
}
}
Действительно ли возвращает ...
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 3.5263605,
"hits": [
{
"_index": "contacts_6_twtoatx8yv",
"_type": "_doc",
"_id": "2098",
"_score": 3.5263605,
"_source": {
"list_id": "6",
"contact_id": "2098",
"firstname": "RICARDO",
"middlename": "",
"lastname": "SMITH"
}
}
]
}
}