在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Java/ es 中文通配符查詢

es 中文通配符查詢

es中有個(gè)字段是中文的,如何實(shí)現(xiàn)這個(gè)字段像數(shù)據(jù)庫(kù)一樣的like查詢?
例如like "中國(guó)%"能夠查詢出"中國(guó)地圖"、"中國(guó)教育"等詞。

回答
編輯回答
墨小羽

ngram分詞是個(gè)好東西

可以看看。原生自帶的

{
    "settings": {
        "number_of_shards": 3,
        "number_of_replicas": 0, 
        "analysis": {
            "filter": {
                "autocomplete_filter": { 
                    "type":     "edge_ngram",
                    "min_gram": 1,
                    "max_gram": 20
                }
            },
            "analyzer": {
                "autocomplete": {
                    "type":      "custom",
                    "tokenizer": "standard",
                    "filter": [
                        "lowercase",
                        "autocomplete_filter" 
                    ]
                }
            }
        }
    }
}

如上設(shè)置就OK

2017年1月22日 16:20
編輯回答
淡墨

查詢有一種叫做 wildcard 可以用這種,但是在全文檢索引擎中用這種做檢索。。很奇怪

2018年9月14日 02:09
編輯回答
鹿惑

樓上說(shuō)的都不對(duì),不需要分詞,,,另外你不知道怎么寫es語(yǔ)句,你可以搜索下sql轉(zhuǎn)換es的插件

2017年8月8日 15:58
編輯回答
女流氓

試試ES的拼音分詞器:https://github.com/medcl/elas...

2017年8月12日 01:33
編輯回答
朽鹿

首先字段類型設(shè)置為keyword,這樣就不會(huì)分詞,然后檢索使用 wildcard 方式,可以使用通配符檢索。
但是如樓上所說(shuō),不使用分詞,實(shí)際的檢索效果其實(shí)并不好

2017年4月20日 07:39