0
我的應用程序使用手電筒searchengine,在我的彈性表中我存儲的數據有兩個字段id: { name: "", uid: "" }
。當我想要檢索某個值時,我只想在名稱字段中進行部分匹配,並在匹配工作時檢索所有兩個字段。 在我的請求數據通常我店這種結構firebase手電筒部分匹配只有一個字段
search : {
request: {
-54shdjwirjghcb7364gf92jcns20ahd: {
index: "firebase",
type: "event",
from: 0,
size: 50,
query: "*fra*"
}
}
}
結果是肯定的,但是,在這種情況下,手電筒搜索在各領域的部分比賽,因爲如果我做一個與之匹配的部分UID或部分名稱的結果總是正面的(如果字符串對應)。
我該如何做一個部分匹配只有一個字段?
我的服務器端搜索隊列是這樣
_process: function (snap) {
var dat = snap.val();
var key = snap.key;
if (this._assertValidSearch(key, dat)) {
// Perform (a very simple) ElasticSearch query
this.esc.search({
index: dat.index,
type: dat.type,
from : dat.query.from,
size : dat.query.size,
q: dat.query
}, function (error, response) {
if (error) {
this._reply(key, { error: error, total: 0 });
} else {
this._reply(key, response);
}
}.bind(this));
}
},
在此先感謝