0
如何通過中間或最後一個英文字母來搜索單詞。例如CORPORATION是一個詞,我可以通過使用EdgeGram和前綴過濾器來搜索CORPORATION的COR,CO,C等首字母。但我無法使用POR或RATI或ION的CORPORATION的最後一個字母或中間字母進行搜索。是彈性搜索支持這個功能嗎?如果是的話,我該如何解決這個問題。彈性搜索前綴,後綴,EdgeGram
如何通過中間或最後一個英文字母來搜索單詞。例如CORPORATION是一個詞,我可以通過使用EdgeGram和前綴過濾器來搜索CORPORATION的COR,CO,C等首字母。但我無法使用POR或RATI或ION的CORPORATION的最後一個字母或中間字母進行搜索。是彈性搜索支持這個功能嗎?如果是的話,我該如何解決這個問題。彈性搜索前綴,後綴,EdgeGram
nGram tokenizer會做你想做的。它就像Edge-nGram標記器一樣,除了它在整個單詞中移動而不是固定在一個邊上。
$ curl localhost:9200/test/_analyze?tokenizer=ngram&pretty' -d 'corporation' | grep token
"tokens" : [ {
"token" : "c",
"token" : "o",
"token" : "r",
"token" : "p",
"token" : "o",
"token" : "r",
"token" : "a",
"token" : "t",
"token" : "i",
"token" : "o",
"token" : "n",
"token" : "co",
"token" : "or",
"token" : "rp",
"token" : "po",
"token" : "or",
"token" : "ra",
"token" : "at",
"token" : "ti",
"token" : "io",
"token" : "on",
很難理解你想要什麼。你能澄清嗎?你以前的嘗試的代碼示例將有助於理解。 –