簡體   English   中英

Firebase手電筒僅部分匹配

[英]firebase flashlight partial match for only one field

對於我的應用程序,我使用手電筒搜索引擎,在我的彈性表中,我存儲了一個具有兩個字段id: { name: "", uid: "" }的數據id: { name: "", uid: "" } 當我想檢索某個值時,我只想在名稱字段中進行部分匹配,如果匹配成功,則要檢索所有兩個字段。 在我的請求數據中,通常我存儲此結構

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));
        }
    },

提前致謝

嘗試使用"name:*fra*"作為查詢。 查詢屬性作為q參數傳遞給elasticsearch。

在此處檢查: https : //www.elastic.co/guide/zh-CN/elasticsearch/reference/5.0/search-search.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM