Elasticsearch版本:1.6.0Elasticsearch搜索產生任何結果,分析可能是問題
我一直在使用elasticsearch在過去的幾個月(剛開始),現在我正在與它的問題。這裏是關於我的數據庫的一些信息:
我使用的索引使用默認的動態映射(例如:我沒有修改它的映射)。我的對象應該是無模式的。另外,指數使用默認分析器(我沒碰過,要麼),所以index/_settings
看起來是這樣的:
{
"default": {
"settings": {
"index": {
"creation_date": "1441808338958",
"uuid": "34Yn1_ixSqOzp9UotOE_4g",
"number_of_replicas": "1",
"number_of_shards": "1",
"version": {
"created": "1060099"
}
}
}
}
}
下面是我在問題:在某些字段值如預期的那樣搜索無法正常工作(我的結論是因爲分析儀)。例如:字段email
的值爲[email protected]
; {"query":{"bool":{"must":[{"term":{"user.email":"[email protected]"}}]}}
將無法正常工作,但將term value定義爲「user」可行(因爲它以某種方式將其標記爲標記,並且沒有包含完整電子郵件地址的標記)。
這裏就是我想:我想兩者通配符文本搜索(找到在註釋的文字一個壞詞)和嚴格搜索(如在電子郵件爲例)上的任何字段,然後我會使用bool
和should
與term
或wildcard
。
問題是我不能告訴他「好吧,在這個領域你應該使用X分析器」,因爲我所有的領域都是動態的。
我試過:在索引的設置上,我輸入了這個:{"analysis":{"analyzer":{"default":{"type":"keyword"}}}}
;不工作:沒有任何改變(我也沒有忘記在這樣做之前關閉索引並打開它)。
這個問題是否與分析儀有關?
如果更改[分析儀設置](https://www.elastic。co/guide/en/elasticsearch/guide/current/reindex.html#reindex),您將需要重新索引文檔。 – keety