嗨我正在開發使用彈性搜索的迷你應用程序。是否有任何選項可停止應用分析儀?
環境: -
settingBuilder = XContentFactory.jsonBuilder().startObject()
.startObject("index")
.startObject("analysis")
.startObject("analyzer")
.startObject("custom_analyzer")
.field("type", "custom")
.field("tokenizer","keyword")
.field("filter", new String[]{"standard","ngram_filters"})
.endObject()
.endObject()
.startObject("filter")
.startObject("ngram_filters")
.field("type", "nGram")
.field("min_gram", "1")
.field("max_gram","10")
.endObject()
.endObject()
.endObject()
.endObject()
.endObject();
映射: -
contentBuilder = XContentFactory.jsonBuilder().startObject()
.startObject("students")
.startObject("properties")
.startObject("searchColumn")
.field("analyzer", "custom_analyzer")
.field("type", "string")
.endObject()
.startObject("firstName")
.field("type","string")
.field("analyzer", "custom_analyzer")
.field("store", "yes")
.endObject()
.startObject("lastName")
.field("type","string")
.field("analyzer", "custom_analyzer")
.field("store", "yes")
.endObject()
.startObject("registerNumber")
.field("type", "long")
.field("analyzer", "custom_analyzer")
.field("store", "yes")
.endObject()
.endObject()
.endObject()
.endObject();
在這裏,我指定NGRAM濾波器。但由於某種原因,在做搜索過程中,我不想將分析器應用於prefixFilter或prefixQuery。有沒有任何選擇。 我在這裏面臨的問題是,
例如。
apple
one apple
two apple
假設這些是來自example的firstName值。 當我搜索字符'a'的前綴時,我必須只想獲得'apple'文檔。但現在,我得到所有的結果,因爲nGram ...你可以請任何解決方案嗎?
你能否闡明答案是否有用或完全關閉? :) – javanna