1

2 つの提案で満たされた Suggest オブジェクトが既にあります。現時点では、Suggest オブジェクトから提案を取得するためのガイドとなるドキュメントやサンプル コードを見つけることができません。

以下は、提案オブジェクトを取得する方法です

val generator:DirectCandidateGenerator = candidateGenerator("name")
            .prefixLength(0)
            .minWordLength(0)
            .suggestMode("always")
            .maxEdits(2);
val phraseSuggest:PhraseSuggestionBuilder = phraseSuggestion("did_you_mean")
        .field("name")
    .addCandidateGenerator(generator)
    .text(t)
    .gramSize(3);

val search = Global.getClient().prepareSearch("businesses")
  .setSearchType(SearchType.QUERY_THEN_FETCH)
  .setQuery(customQuery)
  .setFrom(0).setSize(max)
  .addSuggestion(phraseSuggest)
  .execute()
  .actionGet();


val suggest = search.getSuggest()
println("Suggest Size: " + suggest.size())

上記のコードは Scala です。Javaを理解していれば、自明です。Java のソリューションを知っていれば、簡単に Scala コードに変換できるので、知らない場合は Scala を試して理解する必要はありません。

どんな助けでも大歓迎です。ありがとうございました

4

1 に答える 1

1

かなり醜いアプローチですが、機能します:

val options = suggest.iterator().next().iterator().next().getOptions()
options.asScala.map(x => x.getText.string).toList
于 2014-07-30T08:54:27.040 に答える