Search Interface
一:概念
就是一些已經enable for record search 的 property or dimension 的命名集合。能夠使得我們針對一個或者一些dimension or property 去搜索一些去控制record search的行爲。
二:主要的功能
1 Relevance Ranking
2 Matching across multiple properties or dimension(cross-fields)
3 Keyword in context results
4 Partial Match
三:Options for enabling cross-field matches
Cross-Field:比如 你搜索 “Nike shoes”,如果能夠cross-field,那麼MDEX Engine將會返回所有匹配Brand=Nike 和 Type=shoes的 record results.
在 Search Interface 有三種設置方式:
- Always;無論何種情況下都可以cross-fields 匹配
- Nerver:無論何種情況都不會匹配
- On Failure: MDEX Engine 在匹配單個property 或者 dimension 失敗的時候,纔會跨字段匹配。
默認情況下,record search query會根據search interface裏的每一個成員properrty 或者 dimension去匹配,然後返回一個聯合的結果集。比如, 你搜索Nike Shoes的時候, 在search inerface裏有2個成員:
property: type AND dimension: brand, 那麼他先匹配type, 然後得到結果集A,然後再匹配brand,得到結果集B,最後將A和B做一個結果集的聯合。
有時候針對每一個成員進行匹配是沒有必要限制的,比如顧客搜索Nike Shoes可能只是對產品的範圍感興趣,但是record search 可能僅僅是返回一些product name 包含terms是Nike and Shoes。此種情況cross-field,就可以用到,他會在search interface 裏 跨越多個property 和 dimension 進行匹配。
四:Cross-Filed 是如何工作的
當一個search interface 成員在記錄是 multi-assigned(和書的作者一樣,可能有多個)
MDEX Engine會做一個單獨的對待,他們來自不同的屬性,一個搜索匹配2個或者以上的terms針對相同的屬性,MDEX Engine就會視爲Cross-Filed 匹配。
比如記錄有三個:
displayName: Nike ;
displayName: Shoes;
displayName: Nike Shoes;
那麼針對這個displayName的搜索“Nike Shoes”,就會把這些都查出來,即使他們發現Nike Shoes存在。
在根據search interface查詢默認使用的Or連接符。
Ntk=actor|director&Ntt=deniro|deniro 查詢actor 匹配 deniro 且 director 匹配deniro的結果
Ntk=moviepeople&Ntt=deniro 查詢actor 匹配 deniro 或者 director 匹配deniro的結果(如果search interface只有actor property 和 director dimension)