我是彈性和彈簧數據彈性的新手。我一直在這裏和網絡的其他領域尋找,但到目前爲止一直無法找到我的問題的答案。我希望SO可以提供幫助。如何用彈簧數據彈性查詢彈性
我索引從我Users
表(名字,姓氏)一些記錄,我希望能夠讓高級搜索。例如,如果我有'Frances'這個名字,並且輸入'Frank',那麼這個系統足夠聰明,可以返回記錄。同爲「臣」和「Robinsen」等
我設置我的POJO是以下幾點:
Public Users {
@Field(fieldType = FieldType.String)
private String firstName;
@Field(fieldType = FieldType.String)
private String lastName
// mutators
...
}
目前我使用的是彈簧數據彈性ElasticRepository
做我的搜索,如果我準備進行高級搜索,我相信這可能會改變。一種選擇是直接在UserService
中使用EntityManager
或Template
,但我不確定如何去做。
正如我所描述的問題,這是一個索引問題或搜索問題或可能兩者?我不是在尋找任何人來完成這項工作,只是爲了讓我指向正確的方向。
謝謝!
你吃過看看http://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#elasticsearch.query-methods? 順便說一句,EntityManager是JPA的概念,而不是elasticsearch,所以在這個方向上搜索沒有意義。 – GPI
你是對的,這是一個JPA的概念,所以它不適合這裏。我已閱讀您鏈接到的文檔,但我仍然不知道如何設置它以允許模糊邏輯。這是一個查詢問題嗎?索引問題?我是否需要更改我的域名實體? – Dan
快速搜索不提供從方法名稱生成自動*模糊*查詢的方法,但您始終可以使用[基於條件](http://docs.spring.io/spring-data/elasticsearch/docs /current/api/org/springframework/data/elasticsearch/core/query/Criteria.html#fuzzy-java.lang.String-)ones或[hand written](http://docs.spring.io/spring-data /elasticsearch/docs/current/reference/html/#elasticsearch.query-methods.at-query)。 – GPI