0
意向: Elasticsearch的Java MoreLikeThis查詢用Java做的正是下面通過/_search
其餘端點原料more_like_this
過濾查詢正在進行。不返回文件相比,「_search」 Elasticsearch的Java API MoreLikeThis休息端點
GET /index/type/_search
{
"query": {
"filtered": {
"query": {
"more_like_this": {
"fields": [
"title",
"body",
"description",
"organisations",
"locations"
],
"min_term_freq": 2,
"max_query_terms": 25,
"ids": [
"http://xxx/doc/doc"
]
}
},
"filter": {
"range": {
"datePublished": {
"gte": "2016-01-01T12:30:00+01:00"
}
}
}
}
},
"fields": [
"title",
"description",
"datePublished"
]
}
,這是我對上面的Java實現:
FilteredQueryBuilder queryBuilder = new FilteredQueryBuilder(QueryBuilders.matchAllQuery(),FilterBuilders.rangeFilter("datePublished").gte(("2016-01-01T12:30:00+01:00")));
SearchSourceBuilder query = SearchSourceBuilder.searchSource().query(queryBuilder);
return client.prepareMoreLikeThis("index", "type", "http://xxx/doc/doc")
.setField("title", "description", "body", "organisations","locations")
.setMinTermFreq(2)
.maxQueryTerms(25)
.setSearchSource(query);
然而,結果遠離more_like_this
其餘端點不同返航。我在索引中獲得了我整個文檔的大約四分之五的匹配。至於如果沒有過濾器被應用
瞄準ES v1.4.2
和v1.6.2
任何意見please.Thanks
您有其他日期發佈過濾器 – alpert
您是指日期的差異?如果是這樣的話,我寫這篇文章是一個愚蠢的錯字。如果在過濾器機制上有所不同,請詳細說明,謝謝@alpert – DaddyMoe