2015-03-03 13 views
5

का उपयोग कर पीओजेओ के लिए लोचदार खोज सूचकांक फ़ील्ड नामों को परिभाषित करने के लिए कैसे करें मैं CRUD संचालन करने के लिए स्प्रिंग डेटा लोचदार खोज का उपयोग कर रहा हूं। डिफ़ॉल्ट रूप से, जब @Document के साथ एनओटीएटेड पीओजेओ को लोचदार खोज सूचकांक में लिखा जाता है, तो सूचकांक फ़ील्ड नाम POJO के जावा प्रॉपर्टी नामों के समान होते हैं। मैं इंडेक्स फ़ील्ड नामों को अलग-अलग कैसे कॉन्फ़िगर कर सकता हूं? उदाहरण के लिए, इस दस्तावेज़ POJO साथ:स्प्रिंग डेटा लोचदार खोज

@Document(indexName = "areas", type = "area") 
public class Area { 

    @Id 
    private String id; 
    private String countyName; 
    private String postOfficeName; 
    private String stateName; 

कैसे मैं इतना ElasticSearch में सूचकांक क्षेत्र countyName COUNTY_NAME के ​​बजाय के रूप में धारावाहिक रूप हो जाता है कि यह कॉन्फ़िगर कर सकते हैं?

+1

मुझे @ डॉक्यूमेंट एनोटेटेड पीओजेओ में जैक्सन की @ जेसनप्रोपर्टी ("काउंटी_नाम") जोड़कर एक कामकाज मिला है, लेकिन इसके पास स्प्रिंग डेटा के डीएसएल खोजने की शक्ति खोने का नकारात्मक हिस्सा है ... ऑपरेशन क्योंकि वे भरोसा करते हैं camelCased जावा संपत्ति नाम। –

+0

'@ JspnProperty' के उपयोग पर अधिक जानकारी http://stackoverflow.com/questions/33537229/spring-elastic-search-custom-field-names – Javaru

उत्तर

0

मुझे लगता है कि आपको @Field एनोटेशन के गुणों का उपयोग करना है, मुझे लगभग इस बारे में निश्चित है। कृपया here देखें।

+0

में चर्चा की गई है मुझे फ़ील्ड नाम से संबंधित कुछ भी नहीं मिला है – fizmax

1

वसंत-डेटा-elasticsearch रूप fasterxml मॉड्यूल का उपयोग करता है json दस्तावेज़ में POJOs कन्वर्ट करने के लिए, तो आप बस इस्तेमाल कर सकते हैं,

@JsonProperty("country_name") 
private String countryName 

elasticsearch सूचकांक में एक अलग फ़ील्ड नाम प्राप्त करने के लिए।

संबंधित मुद्दे