網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
1.keyword類型不分詞,
text類型分詞,
但是keyword類型有字節(jié)長(zhǎng)度限制,長(zhǎng)度為
如果超長(zhǎng)文本,而且不需要分詞,則可以設(shè)置為
text,被指定字段不分詞,例:
"introduces" : {
"type" : "text",
"index": false
},
2多條件搜索排序,可以通過(guò)對(duì)查詢字段設(shè)置權(quán)重,排序時(shí),對(duì)算分進(jìn)行排序
例:
builder=QueryBuilders.boolQuery()
.should(QueryBuilders.matchQuery("extension_field",content).boost(500).operator(Operator.AND))
.should(QueryBuilders.matchQuery("names",content).boost(200).operator(Operator.AND))
.should(QueryBuilders.matchQuery("brandname",content).boost(100).operator(Operator.AND))
.should(QueryBuilders.matchQuery("oneName",content).boost(2).operator(Operator.AND))
.should(QueryBuilders.matchQuery("twoName",content).boost(2).operator(Operator.AND))
.should(QueryBuilders.matchQuery("threeName",content).boost(2).operator(Operator.AND));
if(sortField!=null&&!"".equals(sortField)){
//按照用戶選擇進(jìn)行排序
if ("asc".equals(sort)){
searchSourceBuilder.sort(sortField, SortOrder.ASC).sort("_score", SortOrder.DESC);
}else if("desc".equals(sort)){
searchSourceBuilder.sort(sortField, SortOrder.DESC).sort("_score", SortOrder.DESC);
}
}
else {
// 按照默認(rèn),區(qū)分企業(yè)和個(gè)人不同用戶類型來(lái)排序
if (userType==1){
searchSourceBuilder.sort("personSort",SortOrder.ASC).sort("_score", SortOrder.DESC);
}else {
searchSourceBuilder.sort("enterpriseSort",SortOrder.ASC).sort("_score", SortOrder.DESC);
}
}
?
?
//設(shè)置minimum_should_match,使must和shoud同時(shí)生效 boolquerybuilder.minimumShouldMatch(1);
20220420:排序不準(zhǔn)確
問(wèn)題情況:
解決方法:
原因:
排序問(wèn)題。
數(shù)組類型是nested類型時(shí),對(duì)數(shù)組中的字段排序,實(shí)際時(shí)對(duì)數(shù)組里面的二級(jí)對(duì)象排序,
普通數(shù)組類型排序,排序的是值
若有收獲,就點(diǎn)個(gè)贊吧
原文鏈接:https://blog.csdn.net/g5703129/article/details/124816486
相關(guān)推薦
- 2022-07-09 利用Python上傳日志并監(jiān)控告警的方法詳解_python
- 2022-02-27 解決 idea突然使用debug功能時(shí)項(xiàng)目啟動(dòng)一半卡住沒反應(yīng)也不報(bào)錯(cuò)
- 2022-10-07 Unity游戲開發(fā)實(shí)現(xiàn)場(chǎng)景切換示例_C#教程
- 2023-01-03 在C語(yǔ)言中g(shù)etchar的使用方法和讀取規(guī)則講解_C 語(yǔ)言
- 2022-11-08 OpenCV圖像特征提取之Shi-Tomasi角點(diǎn)檢測(cè)算法詳解_C 語(yǔ)言
- 2022-05-14 C++?STL中vector容器的使用_C 語(yǔ)言
- 2023-07-26 node基于express+mongodb項(xiàng)目的整體結(jié)構(gòu)搭建和邏輯抽離
- 2022-05-17 Git分支管理策略_其它綜合
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支