簡體   English   中英

Elasticsearch和MongoDB,部分搜索不起作用

[英]Elasticsearch and mongodb, partial search not working

這是我在mongodb中的位置集合:

{ "_id" : ObjectId("5270d36f28f31fd8fa016441"), "stateName" : "A5", "cityName" : "ABCNEW2" }
{ "_id" : ObjectId("5270d37328f31fd8fa016442"), "stateName" : "A5", "cityName" : "ABC" }
{ "_id" : ObjectId("5270d37b28f31fd8fa016443"), "stateName" : "65", "cityName" : "ABCRW" }

我使用彈性搜索創建了一個索引:

POST /bwitter
{"index": 
  { "number_of_shards": 1,
    "analysis": {
       "filter": {
                  "mynGram" : {"type": "nGram", "min_gram": 2, "max_gram": 10}
                 },
       "analyzer": { "a1" : {
                    "type":"custom",
                    "tokenizer": "standard",
                    "filter": ["lowercase", "mynGram"]
                    }
                  } 
     }
  }
}

我使用彈性搜索創建了一個映射:

PUT /bwitter/bweet/_mapping
{
    "bweet" : {
        "index_analyzer" : "a1",
        "search_analyzer" : "standard", 
        "properties" : {
            "stateName": {"type":"string", "analyzer":"standard"},
            "cityName" : {"type" : "string" }
        }
    }

}

創建的河流如下:

PUT /_river/mongodb/_meta
{ 
    "type": "mongodb", 
    "mongodb": { 
        "db": "rakeshdb", 
        "collection": "locations"
    }, 
    "index": {
        "name": "locations", 
        "type": "bweet" 
    }
}

如果我查詢GET /locations/_search?q=ABC ,那么我只會得到一條記錄( GET /locations/_search?q=ABC全字搜索,對於部分字未進行搜索)

我幾乎花了一整天的時間,但無法解決這個問題。 我要去哪里錯了?

我猜應該是:

PUT /_river/mongodb/_meta
{ 
    "type": "mongodb", 
    "mongodb": { 
        "db": "rakeshdb", 
        "collection": "locations"
    }, 
    "index": {
        "name": "bwitter", 
        "type": "bweet" 
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM