結構化查詢(dsl)
match(分詞匹配)
查詢和"我的寶馬多少馬力"這個查詢語句匹配的文件
} } }
語句"我的寶馬多少馬力"進行分詞後搜尋,並且根據lucene的評分機制(tf/idf)來進行評分。
match_phrase(都包含)
比如上面乙個例子,乙個文件"我的保時捷馬力不錯"也會被搜尋出來,那麼想要精確匹配所有同時包含"寶馬 多少 馬力"的文件怎麼做?就要使用 match_phrase 了
} } }
multi_match
如果我們希望兩個字段進行匹配,其中乙個欄位有這個文件就滿足的話,使用multi_match
} }但是multi_match就涉及到匹配評分的問題了。
我們希望完全匹配的文件佔的評分比較高,則需要使用best_fields
} }意思就是完全匹配"寶馬 發動機"的文件評分會比較靠前,如果只匹配寶馬的文件評分乘以0.3的係數
tie_breaker引數改變分值計算過程:
取得最佳匹配查詢子句的_score。
將其它每個匹配的子句的分值乘以tie_breaker。
將以上得到的分值進行累加並規範化。
取0時即為僅使用最佳匹配子句,取1則會將所有匹配的子句一視同仁
我們希望越多字段匹配的文件評分越高,就要使用most_fields
} }這個詞條的分詞詞彙是分配到不同欄位中,那麼就用cross_fields
} }【term】
term是代表完全匹配,即不進行分詞器分析,文件中必須包含整個搜尋的詞彙
} }查出的所有文件都包含"汽車保養"這個片語的詞彙。
Elasticseach之文件所在分片
elasticseach的分片有很多時,如果我想查詢下某個文件當前所在分片,該如何查詢?get saas product batch stock test search shards?routing zhl10184670,zhl10174592,zhl10180859注意routing支援多個,使...
ElasticSeach(二 部署執行)
cluster 集群名稱,同一集群名稱需一致,預設 elasticsearch node 節點名稱,集群內節點名稱需唯一 node.name node 1 自定義屬性 node.attr.rack r1 當前節點是否儲存資料 node.data true 是否是主節點 node.master tru...
xml 讀寫查 基本步驟
saxreader reader new saxreader 獲得解析器 file f new file filename 指定解析檔案 構造文件樹並且返回 document document reader.read f 獲得根元素 element rootelement document.getr...