我使用Hibernate與Hibernate搜索索引彈性搜索(從Java到elasticsearch)中的類+數據。我已經設置並提供了所有的屬性。 對於前:禁用在Hibernate搜索提升[彈性搜索映射索引問題,通過休眠搜索]
@Entity
@indexed(name="a")
public class a{
@Id
@Generated value
private integer i;
@Field(index=index.yes, analyze=analyze.no, store=store.yes, norms = norms.no)
private String b;
//Getter and Setter
}
在我的主要方法我傳遞值到這個類和堅持。當我這樣做時,我收到錯誤消息,其中說
5.0中刪除了[字符串]類型。您現在應該使用[text]或[keyword]並且由於boost參數而禁用了自動升級。
給你更多的細節
它發送的Json輸入在這個模式
PUT a/a_mapping
{
"properties":{
"i":{
"type": "String"
"boost":1.0,
"index": not_analyzed
"store":yes
},
"b":{
"type": "String"
"boost":1.0,
"index": not_analyzed
"store":yes
我已經玩了之後瞭解什麼是字符串數據類型都棄用ES 5.0,所以「字符串'數據進入,必須轉換爲'關鍵字'或'文本',Hibernate搜索orm這樣做,如果沒有助推參數(我試圖手動輸入這個有和沒有b oost參數,它在後者中起作用)。
所以我得出結論,我必須通過休眠發送數據到ES這兩個選項。
1)無論是構建的fieldbridge將數據類型轉換從對象到關鍵字
2)禁用索引時間升壓參數,使得升壓未輸入而索引。
到目前爲止,我還沒有找到解決方案,任何提示或幫助將不勝感激。
TIA
我在5.8版的hibernate網站上看到過你的帖子,它解決了我在問題中提到的所有問題。感謝您所提供的所有信息。 – BadumTsch
@BadumTsch沒問題。如果它解決了您的問題,請不要忘記將答案標記爲已接受:) –