找不到具有指定id_JAVA如何整合es指定字段不分词搜索?
生活随笔
收集整理的這篇文章主要介紹了
找不到具有指定id_JAVA如何整合es指定字段不分词搜索?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、問題
在做一個需求的時候,需要按照電話號碼查詢用戶關系,所以我這邊先講相關信息同步到es,但是電話號碼是加密的,所以顯示的字符串是雜亂的,既有字母,又有斜杠等號等字符,在進行分詞查詢的時候匹配不到相應的數據,所以需要對電話號碼字段指定為不分詞的查詢即完全匹配
二、解決
import org.springframework.data.annotation.Id; import org.springframework.data.elasticsearch.annotations.Document; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldIndex;@Document(indexName = "address_index",type = "t_address") public class Address{@Idprivate Long id ;private String address;private String province;private String city;//@Field(type = FieldType.String , index = FieldIndex.not_analyzed)@Field(index = FieldIndex.not_analyzed)private String mobile;public static long getSerialVersionUID() {return serialVersionUID;}public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String getProvince() {return province;}public void setProvince(String province) {this.province = province;}public String getCity() {return city;}public void setCity(String city) {this.city = city;}public String getMobile() {return mobile;}public void setMobile(String mobile) {this.mobile = mobile;}在代碼中指定某個字段不進行分詞搜索時候,需要對其類型進行指定,否則查看索引如下圖
如果指定了字段類型,并且該字段不進行分詞搜索,則可以看到其index為not_analyzed
三、es后臺管理使用遇到的問題
{"query": {"bool": {"filter": {"terms": {"userNo": ["5832794"]}}}} }這里查詢方法提交方式是POST、POST、POST
總結
以上是生活随笔為你收集整理的找不到具有指定id_JAVA如何整合es指定字段不分词搜索?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab fbb,[求助]请教如何将
- 下一篇: 继电器触点粘连分析_在我们日常电气维护中