日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

querybuilder 排序_elasticsearch的匹配与排序问题

發布時間:2023/12/4 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 querybuilder 排序_elasticsearch的匹配与排序问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

后臺搜索使用的java api

public List searchQueryTeam(String term, int limit, int offset, int isHighlight, long seed) throws Exception {

final List list = new ArrayList();

SearchRequestBuilder srbTeam = client.prepareSearch(INDEX_NAME)

.setTypes("Team")

.setSearchType(SearchType.DEFAULT);

if (StringUtils.isNotEmpty(term)) {

BoolQueryBuilder qbTeam = QueryBuilders.boolQuery().must(QueryBuilders.termQuery("rowState", 0))

.mustNot(QueryBuilders.termQuery("status", 1));

qbTeam.must(QueryBuilders

.boolQuery()

.should(QueryBuilders.wildcardQuery("name", "*" + term + "*").boost(10f))

.should(QueryBuilders.fuzzyLikeThisQuery("name", "description", "tag").analyzer("ik")

.likeText(term)).boost(0.1f));

srbTeam.setQuery(qbTeam);

}

……

當term是10時,在head里復制了上面程序生成的語句

{

"from" : 0,

"size" : 10,

"query" : {

"bool" : {

"must" : [ {

"term" : {

"rowState" : 0

}

}, {

"bool" : {

"should" : [ {

"wildcard" : {

"name" : {

"wildcard" : "*10*",

"boost" : 10.0

}

}

}, {

"flt" : {

"fields" : [ "name", "tag","description" ],

"like_text" : "10",

"analyzer" : "ik"

}

} ],

"boost" : 0.1

}

} ],

"must_not" : {

"term" : {

"status" : 1

}

}

}

}

}

查詢的結果

hits: {

total: 2

max_score: 0.9193326

hits: [

{

_index: tmwk

_type: Team

_id: 309

_score: 0.9193326

_source: {

createDate: 2014-12-11 15:41:25

rowState: 0

id: 309

name: 產品研發團隊

description: 產品研發團隊是公司的重中之重,所有產品的源頭來源于需求

status: 0

tag: 19, 17, 狗, 18, 15, 四六級, 我的

projectCount: 0

userCount: 0

role: null

lastModifiedDate: 2014-12-24 16:26:38

}

}

{

_index: tmwk

_type: Team

_id: 270

_score: 0.90041924

_source: {

createDate: 2014-11-21 17:00:09

rowState: 0

id: 270

name: 10101010

description: sddd四六級額哦如薩拉杜甫,算法鏈接偶薩拉非。三等獎哦額乳酸代理費見,斯蒂芬就咯額ulsdjfsd。

status: 0

tag: 牛逼, 埃菲爾, 英國, 乒乓, 自行車, 天鵝

projectCount: 0

userCount: 0

role: null

lastModifiedDate: 2014-11-21 17:00:09

}

}

]

}

建索引前,先設置了mapping,對name字段不做分詞,其他的字段analyzer都設置為ik,不明白查詢關鍵詞是10時,為何會匹配到tag: 19, 17, 狗, 18, 15, 四六級, 我的 這條,而且排名第一,程序里設置的boost也完全沒生效,請問如何能做到準確匹配跟使模糊查詢結果排到后面

總結

以上是生活随笔為你收集整理的querybuilder 排序_elasticsearch的匹配与排序问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。