为什么ElasticSearch找不到我的术语

时间:2011-02-12 22:19:33

标签: elasticsearch

我刚安装并测试弹性搜索它看起来很棒,我需要知道一些我有配置文件

elasticsearch.json目录中的

config

{    
"network" : {
    "host" : "127.0.0.1"
},
"index" : {
    "number_of_shards": 3,
    "number_of_replicas": 1,
    "refresh_interval" : "2s",        
    "analysis" : {
        "analyzer" : {                
            "index_analyzer" : {                    
                "tokenizer" : "nGram",
                "filter" : ["lowercase"]
            },
            "search_analyzer" : {                                                    
                "tokenizer" : "nGram",
                "filter" : ["lowercase"]
            }
        },                               
        "// you'll need lucene dep for this: filter" : {                
            "snowball": {
                "type" : "snowball",
                "language" : "English"
            }
        }
    }
}

}

如果我搜索关键字,我已插入包含单词searching的文档  search它没有发现......

在索引之前不会出现干扰,或者我在配置中错过了一些东西....

2 个答案:

答案 0 :(得分:5)

如何查看您的查询?

你的配置看起来不太好。尝试:

 ...
"index_analyzer" : {                    
   "tokenizer" : "nGram",
   "filter" : ["lowercase", "snowball"]
},
 "search_analyzer" : {                                                    
    "tokenizer" : "nGram",
    "filter" : ["lowercase", "snowball"]
}
},
"filter" : {
                "snowball": {
                    "type" : "snowball",
                    "language" : "English"
                }
            }

答案 1 :(得分:1)

我也无法覆盖“default_search”和“default_index”分析器。

这虽然有效。 如果需要,可以使用类型中未指定的分析器将“index_analyzer”添加到默认的所有字符串字段。

curl -XDELETE localhost:9200/twitter

curl -XPOST localhost:9200/twitter -d '
{"index": 
  { "number_of_shards": 1,
    "analysis": {
       "filter": {
                "snowball": {
                    "type" : "snowball",
                    "language" : "English"
                }
                 },
       "analyzer": { "a2" : {
                    "type":"custom",
                    "tokenizer": "standard",
                    "filter": ["lowercase", "snowball"]
                    }
                  }
     }
  }
}
}'

curl -XPUT localhost:9200/twitter/tweet/_mapping -d '{
    "tweet" : {
        "date_formats" : ["yyyy-MM-dd", "dd-MM-yyyy"],
        "properties" : {
            "user": {"type":"string"},
            "message" : {"type" : "string", "analyzer":"a2"}
        }
    }}'

curl -XPUT http://localhost:9200/twitter/tweet/1 -d '{ "user": "kimchy", "post_date": "2009-11-15T13:12:00", "message": "Trying out searching teaching, so far so good?" }'

curl -XGET localhost:9200/twitter/tweet/_search?q=message:search 

curl -XGET localhost:9200/twitter/tweet/_search?q=message:try