私はかなり簡単なテストを行いました。私は、このインデックスに3人の生徒を追加その後分析器を使用してインデックスが正しくないelasticsearch
POST student
{
"mappings" : {
"ing3" : {
"properties" : {
"quote": {
"type": "string",
"analyzer": "english"
}
}
}
}
}
:
POST /student/ing3/1
{
"name": "Smith",
"first_name" : "John",
"quote" : "Learning is so cool!!"
}
POST /student/ing3/2
{
"name": "Roosevelt",
"first_name" : "Franklin",
"quote" : "I learn everyday"
}
POST /student/ing3/3
{
"name": "Black",
"first_name" : "Mike",
"quote" : "I learned a lot at school"
}
私は英語トークナイザがtokeniseだろうと思った。この時点で、私は学生のインデックスとタイプを構築し、その後、私はマッピングを定義します私はのような検索を作ってるんだので、もし私の引用符内のすべての単語:私のトークナイザが同じになりますので、
GET /etudiant/ing3/_search
{
"query" : {
"term" : { "quote" : "learn" }
}
}
が、私は結果として、すべての文書を持つことになりますが、「学習、学び、学んだ」と私は正しかったです。私はこの要求をしようとすると、しかし:
GET /student/ing3/_search
{
"query" : {
"term" : { "quote" : "learned" }
}
}
は私がゼロのヒットを持って、私の意見では、私は3番目の文書を持っている必要があります(少なくとも?)。しかし、私のためには、Elasticsearchはlearned
とlearning
のインデックスだけでなく、learn
とも言われています。私が間違っている?私の要求は間違っていますか?