1
我已經有了一個Suggest對象,裏面充滿了兩條建議。此時我找不到任何文檔或示例代碼來幫助指導我從Suggest對象獲取建議。在Elasticsearch Java API中使用建議
下面的是我如何獲取的推薦對象
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代碼,則無需嘗試找出Scala代碼。
任何幫助將不勝感激。謝謝
有什麼不對?我猜你會得到0條建議?你有沒有嘗試使用REST來做同樣的事情? – javanna
不,如我所說,建議的對象有兩個實體。問題是,我如何提取建議? – Commander
'Suggest'對象是'Iterable' ...不知道我在這裏錯過了什麼...... – javanna