2017-06-26 11 views
0

java(org.elasticsearch)にelasticsearch libを使用していますが、バージョン1.4.4を使用していました。今はすべてを最新のものにアップグレードし、コードを変更しています。JavaでのElasticsearchの更新

私はこの

SearchResponse response = esClient.prepareMoreLikeThis(AUCTION_INDEX, AUCTION_PRODUCT_DOCUMENT, productId + "").setSearchSize(size).setField("name").setMinDocFreq(0) 

        .setMinTermFreq(1).setMinWordLen(1).setSearchSource(query).execute().actionGet(); 

を持っていた。しかし、今、私は、バージョン5.4でprepareMoreLikeThisを持っていません。これを置き換えても同じ結果が得られるのですか?

ありがとうございました

+0

https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-specialized-queries.html#java-query-dsl-mlt-query – ryanlutgen

+0

私の例では、元のidエントリしか持っていません。私は "もっとそういう"ことが欲しいのですか? – amachado

答えて

0

More Like This Queryを使用できます。

使用QueryBuilders.moreLikeThisQuery

+0

このように: アイテムアイテム=新しいアイテム(AUCTION_INDEX、AUCTION_PRODUCT_DOCUMENT、productId + ""); アイテム[] items = {アイテム}; MoreLikeThisQueryBuilder mltQueryBuilder = QueryBuilders.moreLikeThisQuery(items).minDocFreq(0).minTermFreq(1).minWordLength(1); SearchResponseレスポンス= esClient.prepareSearch(AUCTION_INDEX).setTypes(AUCTION_PRODUCT_DOCUMENT).setSize(size).setQuery(mltQueryBuilder).setPostFilter(range) .execute()。get(); – amachado

関連する問題