Elasticsearch動的テンプレートがネストされたドキュメントで機能しない

エリック

私は本当にこれが機能していると思っていましたが、実際には問題があります。ネストされたドキュメントに一致するように動的テンプレートを設定しています。私は次のようにマッピングを設定しました:

curl -XPUT 'http://localhost:9200/test/' -d '{
    "mappings": {
        "Item": {
            "dynamic_templates": [
                {
                    "metadata_template": {
                        "match_mapping_type": "string",
                        "path_match": "metadata.*",
                        "mapping": {
                            "type": "multi_field",
                            "fields": {
                                "{name}": {
                                    "type": "{dynamic_type}",
                                    "index": "analyzed"
                                },
                                "standard": {
                                    "type": "{dynamic_type}",
                                    "index": "analyzed",
                                    "analyzer" : "standard"
                                }
                            }
                        }
                    }
                }
            ]
        }
    },
    "settings": {
        "analysis": {
            "filter": {
                "my_ngram": {
                    "max_gram": 10,
                    "min_gram": 1,
                    "type": "nGram"
                },
                "lb_stemmer": {
                    "type": "stemmer",
                    "name": "english"
                }
            },
            "analyzer": {
                "default_index": {
                    "filter": [
                        "standard",
                        "lowercase",
                        "asciifolding",
                        "my_ngram"
                    ],
                    "type": "custom",
                    "tokenizer": "keyword"
                },
                "default_search": {
                    "filter": [
                        "standard",
                        "lowercase"
                    ],
                    "type": "custom",
                    "tokenizer": "standard"
                }
            }
        }
    }
}'

私の期待は、「メタデータ」で始まるすべてのフィールドです。分析済みフィールドと未分析フィールドに接尾辞「.standard」を付けて保存する必要があります。私はこれを完全に誤解していますか?

アイテムを追加します:

curl -XPUT localhost:9200/test/Item/1 -d '{
                           "name" : "test", 
                           "metadata" : {
                                "strange_tag" : "CLEAN_2C_abcdefghij_07MAY2005_AB" 
                                }
                            }'

このクエリはうまく機能します:

{
    "query": {
        "match": {
            "metadata.strange_tag": {
                "query": "CLEAN_2C_abcdefghij_07MAY2005_AB",
                "type": "boolean"
            }
        }
    }
}

ただし、CLEANまたはcleanという単語を検索しても、結果は返されません。そのフィールドはngramトークナイザーを通過したと思います。誰かが私が間違っていることについての提案がありますか?

エリック

NGRAMアナライザーを誤って作成していたようです。これが実際の例です:

curl -XDELETE 'localhost:9200/test'

    curl -XPUT 'localhost:9200/test' -d '{
    "settings": {
        "analysis": {
            "analyzer": {
                "my_ngram_analyzer": {
                    "tokenizer": "my_ngram_tokenizer",
                    "filter": [
                        "standard",
                        "lowercase",
                        "asciifolding"
                    ]
                }
            },
            "tokenizer": {
                "my_ngram_tokenizer": {
                    "type": "nGram",
                    "min_gram": "2",
                    "max_gram": "3",
                    "token_chars": [
                        "letter",
                        "digit"
                    ]
                }
            }
        }
    },
    "mappings": {
        "Item": {
            "dynamic_templates": [
                {
                    "metadata_template": {
                        "match_mapping_type": "string",
                        "path_match": "*",
                        "mapping": {
                            "type": "multi_field",
                            "fields": {
                                "{name}": {
                                    "type": "{dynamic_type}",
                                    "index": "analyzed",
                                    "analyzer" : "my_ngram_analyzer"
                                },
                                "standard": {
                                    "type": "{dynamic_type}",
                                    "index": "analyzed",
                                    "analyzer": "standard"
                                }
                            }
                        }
                    }
                }
            ]
        }
    }
}'

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Elasticsearchプレフィックスクエリがネストされたドキュメントで機能しない

分類Dev

ネストされたIFステートメントでPHPリダイレクトが機能しない

分類Dev

サブドキュメント/深くネストされたドキュメントが変更されたときにParent.save()が機能しない

分類Dev

forループ内のネストされたifステートメントが機能しない

分類Dev

JQueryのコンテキストメニューが追加された要素で機能しない

分類Dev

UICollectionViewCell自動レイアウトでインストールされたビューが機能しない

分類Dev

ElasticSearchの動的テンプレートが機能しない

分類Dev

Angularカスタムディレクティブ(ネストされたng-repeats内)の動的テンプレートが機能しない

分類Dev

BashヒアドキュメントがDockerRUNステートメントで機能しないようです

分類Dev

ElasticSearchのネストされた集計-ドキュメントのメソッドが機能していません

分類Dev

テキストオーバーフロー:ネストされたフレックスコンテナで省略記号が機能しない

分類Dev

ネストされたウィンドウ関数がスノーフレークで機能しない

分類Dev

HtmlToOpenXmlで作成されたWordドキュメントへのヘッダーの追加が機能しない

分類Dev

クラステンプレートのネストされたテンプレート引数の推定が機能しない

分類Dev

Elasticsearch:トップレベルの重複なしで毎月トップのネストされたドキュメントを取得

分類Dev

ネストされたFOREACHステートメントが期待どおりに機能しない

分類Dev

ネストされたリスト(Polymer.dart)でテンプレートの繰り返しが機能しない

分類Dev

ElasticSearch-ネストされたドキュメントが日付範囲と交差しないすべてのドキュメントを検索します

分類Dev

ブートストラップ-動的に生成されたテキストボックスのソフト検索メニューでキーボードが機能しない

分類Dev

NESTを使用したドキュメントのelasticsearchへの自動マッピングが機能しない

分類Dev

ネストされたメニューがangularjsで機能しない

分類Dev

動的にロードされたコンポーネントでAngularディレクティブが機能しない

分類Dev

動的に作成されたドキュメントのXPath評価が機能しない

分類Dev

スプリングキャッシュはネストされたメソッドで機能します

分類Dev

ヒアドキュメントでSSHに渡されたときにAwkスクリプトが機能しない

分類Dev

@SortableFieldがネストされたエンティティで機能しない

分類Dev

新しいADフォレストとドメインの作成中に再起動した後、DSC拡張機能を備えたARMテンプレートがセキュリティエラーで失敗する

分類Dev

テンプレート化されたdojoウィジェットでイベントが機能しない

分類Dev

TypeScriptのifステートメントでエクスポートされた関数が機能しない

Related 関連記事

  1. 1

    Elasticsearchプレフィックスクエリがネストされたドキュメントで機能しない

  2. 2

    ネストされたIFステートメントでPHPリダイレクトが機能しない

  3. 3

    サブドキュメント/深くネストされたドキュメントが変更されたときにParent.save()が機能しない

  4. 4

    forループ内のネストされたifステートメントが機能しない

  5. 5

    JQueryのコンテキストメニューが追加された要素で機能しない

  6. 6

    UICollectionViewCell自動レイアウトでインストールされたビューが機能しない

  7. 7

    ElasticSearchの動的テンプレートが機能しない

  8. 8

    Angularカスタムディレクティブ(ネストされたng-repeats内)の動的テンプレートが機能しない

  9. 9

    BashヒアドキュメントがDockerRUNステートメントで機能しないようです

  10. 10

    ElasticSearchのネストされた集計-ドキュメントのメソッドが機能していません

  11. 11

    テキストオーバーフロー:ネストされたフレックスコンテナで省略記号が機能しない

  12. 12

    ネストされたウィンドウ関数がスノーフレークで機能しない

  13. 13

    HtmlToOpenXmlで作成されたWordドキュメントへのヘッダーの追加が機能しない

  14. 14

    クラステンプレートのネストされたテンプレート引数の推定が機能しない

  15. 15

    Elasticsearch:トップレベルの重複なしで毎月トップのネストされたドキュメントを取得

  16. 16

    ネストされたFOREACHステートメントが期待どおりに機能しない

  17. 17

    ネストされたリスト(Polymer.dart)でテンプレートの繰り返しが機能しない

  18. 18

    ElasticSearch-ネストされたドキュメントが日付範囲と交差しないすべてのドキュメントを検索します

  19. 19

    ブートストラップ-動的に生成されたテキストボックスのソフト検索メニューでキーボードが機能しない

  20. 20

    NESTを使用したドキュメントのelasticsearchへの自動マッピングが機能しない

  21. 21

    ネストされたメニューがangularjsで機能しない

  22. 22

    動的にロードされたコンポーネントでAngularディレクティブが機能しない

  23. 23

    動的に作成されたドキュメントのXPath評価が機能しない

  24. 24

    スプリングキャッシュはネストされたメソッドで機能します

  25. 25

    ヒアドキュメントでSSHに渡されたときにAwkスクリプトが機能しない

  26. 26

    @SortableFieldがネストされたエンティティで機能しない

  27. 27

    新しいADフォレストとドメインの作成中に再起動した後、DSC拡張機能を備えたARMテンプレートがセキュリティエラーで失敗する

  28. 28

    テンプレート化されたdojoウィジェットでイベントが機能しない

  29. 29

    TypeScriptのifステートメントでエクスポートされた関数が機能しない

ホットタグ

アーカイブ