I/Mのインデックス文書を含むキーワードを使用してドキュメントを見つけることができません。ElasticSearch 5は、次の形式のスペース
{
"title": "this is the title",
"brand": "brand here",
"filters": ["filter1", "filter2", "Sin filters", "Camera IP"]
"active": true
}
のように続いてクエリが見えます:私はいずれかを返すことができない
'query': {
'function_score': {
'query': {
'bool': {
'filter': [
{
'term': {
'active': True
}
}
],
'must': [
{
'terms': {
'filters': ['camera ip']
}
}
]
}
}
}
}
"Camera IP"フィルタ(またはこの文字列、小文字などのバリエーション)を含むドキュメントがありますが、Esはフィルタを使用したものを返します。 "Sin filters"。
インデックスは次の設定で作成されます。 「フィルタ」フィールドはデフォルトのテンプレートの下にあり、キーワードのタイプです
"settings":{
"index":{
"analysis":{
"analyzer":{
"keylower":{
"tokenizer":"keyword",
"filter":"lowercase"
}
}
}
}
},
"mappings": {
"_default_": {
"dynamic_templates": [
{
"string_as_keywords": {
"mapping": {
"index": "not_analyzed",
"type" : "keyword",
**"analyzer": "keylower"** # I also tried with and without changing this analyzer
},
"match": "*",
"match_mapping_type": "string"
}
},
{
"integers": {
"mapping": {
"type": "integer"
},
"match": "*",
"match_mapping_type": "long"
}
},
{
"floats": {
"mapping": {
"type": "float"
},
"match": "*",
"match_mapping_type": "double"
}
}
]
}
}
私が紛失しているものはありますか? 「Sin filters」フィルタでは「Camera IP」ではないフィルタを返すのは奇妙です。
ありがとうございました。
あなたはどのESのバージョンを使用していますか? –
私は今5.1.1です。 –