sql >> データベース >  >> NoSQL >> MongoDB

mongodb川を介したelasticsearchのcreateindexでのマッピングが有効になっていません

    最初に、インデックス設定(アナライザー)を使用してインデックスを作成する必要があります:

    "analysis" : {
                "analyzer" : {
                     "str_search_analyzer" : {
                          "tokenizer" : "keyword",
                          "filter" : ["lowercase"]
                      },
    
                      "str_index_analyzer" : {
                         "tokenizer" : "keyword",
                         "filter" : ["lowercase", "ngram"]
                    }
                },
                "filter" : {
                    "ngram" : {
                        "type" : "ngram",
                        "min_gram" : 2,
                        "max_gram" : 20
                    }
                }
            }
    

    次に、タイプのマッピングを定義できます:

    "autocomplete_questions": {
       "_boost" : {
            "name" : "po", 
            "null_value" : 1.0
       },
       "properties": {
                "po": {
                    "type": "double"
                },
                "text": {
                    "type": "string",
                    "boost": 3.0,
                    "search_analyzer" : "str_search_analyzer",
                    "index_analyzer" : "str_index_analyzer"
                }           
       }
    }
    

    そしてその時だけ、あなたは川を作ることができます:

    curl -XPUT "localhost:9200/_river/autocompleteindex/_meta" -d '
    {
    "type": "mongodb",
    "mongodb": {
        "host": "rahulg-dc",
        "port": "27017",
        "db": "qna",
        "collection": "autocomplete_questions"
    },
    "index": {
        "name": "autocompleteindex",
        "type": "autocomplete_questions"} }
    

    役に立ちますか?




    1. トップMongoDBリソース

    2. flashdbを使用したRedisキースペース通知

    3. マングース検索を使用して文字列の一部を含むすべての値を取得するにはどうすればよいですか?

    4. ストライプ:ソースまたは顧客を提供する必要があります