あなたtext
フィールドの型がテキストであり、あなたはおそらくしたい
GET /_analyze?analyzer=standard&[email protected]
{
"tokens": [
{
"token": "stackoverflow",
"start_offset": 1,
"end_offset": 14,
"type": "<ALPHANUM>",
"position": 0
}
]
}
下に見ることができるよう@stackoverflow
は、分析プロセスの後stackoverflow
としてインデックス付けされることを意味standard
アナライザによってデフォルトで解析され
GET /_analyze?analyzer=whitespace&[email protected]
{
"tokens": [
{
"token": "@stackoverflow",
"start_offset": 0,
"end_offset": 14,
"type": "word",
"position": 0
}
]
}
:あなたは完全一致が必要な場合
keyword
タイプを使用するか、またはあなたのデータで
@
符号を維持するよう
whitespace
など、さまざまなアナライザを、指定のいずれかに
更新:
次に、フィールドのカスタムアナライザを使用して、値のインデックス方法を制御できるようにすることをおすすめします。このようにインデックスを再作成すれば、検索を実行できるはずです:
PUT posts
{
"settings": {
"index": {
"analysis": {
"analyzer": {
"my_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": [ "lowercase" ]
}
}
}
}
},
"mappings": {
"post": {
"properties": {
"upvotes": {
"type": "long"
},
"created_time": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
"ratings": {
"type": "long"
},
"link": {
"type": "string"
},
"pic": {
"type": "string"
},
"text": {
"type": "string",
"analyzer": "my_analyzer"
},
"id": {
"type": "string"
}
}
}
}
}
出典
2017-11-23 12:55:47
Val
あなたのマッピングも表示できますか? – Val
@Valが質問に追加されました。 – Noam