我正在使用Elasticsearch Java高级REST客户端,尝试按Long类型值查询文档。 我正在尝试搜索包含数字值的文档:{“ productId”:}。 每当我搜索一个int值时,我都会得到期望值,但是如果数字是Long类型,我总会得到0次点击。
我尝试使用MatchQueryBuilder和TermQueryBuilder进行查询(我相信TermQueryBuilder在这里是正确的选择)
SearchSourceBuilder source = new SearchSourceBuilder();
SearchRequest request = new SearchRequest();
TermQueryBuilder query = new TermQueryBuilder("productId",8317883178163363000L);
source.query(query);
request.source(source);
SearchResponse response = this.client.search(request, RequestOptions.DEFAULT);
SearchHits hits = response.getHits();
如果我搜索少于10个数字(int)的任何值,我会得到预期的结果。但是,如果我搜索的时间超过该时间,则会得到0条结果。
答案 0 :(得分:0)
考虑到您已经对Elastic进行了正确配置,并且对每个内容都执行了良好的索引编制(Elastic具有此类数据)
尝试检查索引(文档)值,我使用elastic extension of chrome,也许productId的值为'8317883178163363000'而不是'8317883178163363000L'。 如果没有很多索引,请尝试获取所有y搜索值。