久久精品国产99国产精品,农村大炕弄老女人,人马配速90分钟,香蕉成人伊视频在线观看

基于詞項(xiàng)term的搜索和基于全文的搜索

ElasticSearch提供了多種搜索方式,包括基于詞項(xiàng)term的搜索和基于全文的搜索。在基于全文的搜索中,查詢串會(huì)被分詞,并將分詞后得到的每個(gè)詞項(xiàng)在索引中進(jìn)行搜索。而基于詞項(xiàng)term的搜索則不對查

ElasticSearch提供了多種搜索方式,包括基于詞項(xiàng)term的搜索和基于全文的搜索。在基于全文的搜索中,查詢串會(huì)被分詞,并將分詞后得到的每個(gè)詞項(xiàng)在索引中進(jìn)行搜索。而基于詞項(xiàng)term的搜索則不對查詢串進(jìn)行分詞,直接進(jìn)行查詢。

創(chuàng)建索引和添加數(shù)據(jù)

首先,我們需要?jiǎng)?chuàng)建一個(gè)名稱為books的索引,并批量加入測試文檔數(shù)據(jù)。下面是創(chuàng)建索引和添加數(shù)據(jù)的命令示例:

```

// 刪除索引

DELETE books

// 創(chuàng)建索引并批量添加數(shù)據(jù)

POST /books/_bulk

{ "index": { "_id":1} }

{ "productId" : "Deep Learn Linux", "desc" : "Linux" }

{ "index": { "_id":2} }

{ "productId" : "Java Thought", "desc" : "Java" }

{ "index": { "_id":3} }

{ "productId" : "Netty Actions", "desc" : "Netty" }

```

基于詞項(xiàng)查詢--單個(gè)詞項(xiàng)匹配查詢

基于詞項(xiàng)查詢的語法結(jié)構(gòu)為:

```

GET /索引名稱/_search

{

"query": {

"term": {

"字段名稱": {

"value": "字段值"

}

}

}

}

```

如果我們根據(jù)字段desc和值"Linux"進(jìn)行查詢,會(huì)發(fā)現(xiàn)沒有獲取到任何結(jié)果。這是因?yàn)樵诩尤胨饕龝r(shí),默認(rèn)會(huì)進(jìn)行分詞處理,并將分詞后的所有詞項(xiàng)轉(zhuǎn)化為小寫。因此,通過"Linux"無法查詢到文檔數(shù)據(jù)。如果我們使用"linux"進(jìn)行查詢,就可以得到相應(yīng)的文檔數(shù)據(jù)。

基于詞項(xiàng)查詢--多個(gè)詞項(xiàng)的字符串匹配查詢

由于基于詞項(xiàng)term的查詢不對查詢串進(jìn)行分詞處理,因此如果查詢串中包含多個(gè)詞項(xiàng),無論如何查詢都不可能匹配到任何文檔數(shù)據(jù)。為了解決這個(gè)問題,可以記住多字段屬性來查詢。例如,text類型屬性默認(rèn)有一個(gè)keyword字段,我們可以使用該字段進(jìn)行查詢。

基于詞項(xiàng)查詢--跳過算分查詢

基于詞項(xiàng)的查詢通常用于精確匹配,因此算分?jǐn)?shù)值并不關(guān)鍵。為了提高查詢效率,我們可以使用constant score將算分過程去掉。特別是對于大數(shù)據(jù)量查詢,這種方式可以顯著提高查詢效率。

以上就是基于詞項(xiàng)term的搜索和基于全文的搜索的相關(guān)知識。通過合理運(yùn)用不同的搜索方式,可以更加靈活地滿足各種搜索需求。

標(biāo)簽:
主站蜘蛛池模板: 理塘县| 翁牛特旗| 白沙| 嘉黎县| 砚山县| 德兴市| 奉贤区| 哈尔滨市| 天台县| 安国市| 封开县| 兴国县| 丹江口市| 通州区| 铜鼓县| 威远县| 武胜县| 南丹县| 万宁市| 老河口市| 昌邑市| 南丰县| 寿阳县| 土默特左旗| 定远县| 武威市| 英山县| 香港 | 凤山县| 理塘县| 长寿区| 葫芦岛市| 鄂温| 定安县| 泸溪县| 盐源县| 大丰市| 西盟| 清丰县| 厦门市| 浦县|