2011-02-12 88 views
5

我剛剛安裝和測試彈性搜索它看起來很棒,我需要知道的一些事情,我有一個配置文件爲什麼ElasticSearch沒有找到我的任期

elasticsearch.jsonconfig目錄

{  
"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" 
      } 
     } 
    } 
} 

} 

和我有插入包含如果我搜索關鍵字 search但並沒有說明發現了一個字searching不會用索引之前乾的文檔...

或我錯過一些東西在配置....

+0

Hpow你在做搜索嗎?這個文件是什麼樣的? – skaffman 2011-02-12 22:23:38

回答

5

看起來如何查詢?

你的配置看起來不好。嘗試:

... 
"index_analyzer" : {      
    "tokenizer" : "nGram", 
    "filter" : ["lowercase", "snowball"] 
}, 
"search_analyzer" : {              
    "tokenizer" : "nGram", 
    "filter" : ["lowercase", "snowball"] 
} 
}, 
"filter" : { 
       "snowball": { 
        "type" : "snowball", 
        "language" : "English" 
       } 
      } 
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 
相關問題