2017-01-16 10 views
0

私が使用したelasticsearchのバージョンはes2.2です。フルテキスト検索の公式チュートリアルと同じコードを入力します。 (https://www.elastic.co/guide/en/elasticsearch/guide/current/match-query.html弾性検索:全文検索が機能しません

私はフルテキストがうまくいかないようです。私の設定に何が問題なの?ありがとう!
コードI型は以下である:

curl -XDELETE 'localhost:9200/my_index ' 
curl -XPUT 'localhost:9200/my_index ' -d ' 
{ 
"settings": { "number_of_shards": 1 } 
}' 
curl -XPOST 'localhost:9200/my_index/my_type/_bulk' -d' 
{ "index": { "_id": 1 }} 
{ "title": "The quick brown fox" } 
{ "index": { "_id": 2 }} 
{ "title": "The quick brown fox jumps over the lazy dog" } 
{ "index": { "_id": 3 }} 
{ "title": "The quick brown fox jumps over the quick dog" } 
{ "index": { "_id": 4 }} 
{ "title": "Brown fox brown dog" }' 

curl -XGET 'localhost:9200/my_index/my_type/_search' -d' 
{ 
    "query": { 
     "match": { 
      "title": "QUICK!" 
     } 
    } 
}' 

返された結果である:{ "た":1、 "TIMED_OUT" 偽 "_破片":{ "合計":1、 "成功" 1

正確なクエリを入力すると1つのヒットしか得られませんが、インデックスに格納されています。

curl -XGET 'localhost:9200/my_index/my_type/_search' -d' 
{ 
    "query": { 
     "match": { 
      "title": "The quick brown fox" 
     } 
    } 
}' 

出力である: は{ "取った":1、 "TIMED_OUT" 偽 "_破片":{ "合計":1、 "成功":1は、 "失敗":0}、」 "_ _": "_ _": "_ _": "_ _": "_ _": "_ _" 1.4054651、 "_ソース":{ "タイトル": "速い茶色のキツネ"}}]}}

Iはまた、分析器をテスト:

curl -XGET 'localhost:9200/_analyze' -d' 
{ 
    "analyzer": "standard", 
    "text": "Text to analyze" 
}' 

カール:(6)ホストを解決できませんでした。 'GET' {"t 0 "、" end_offset ":4、" type ":" "、" position ":0}、{" token ":" to "、" start_offset " ":" 5 "、" end_offset ":7、" type ":" "、" position ":1}、{" token ":" analyze "、" start_offset ":8、" end_offset ":15、" type " "、" position ":2}]}

このエラーは結果に影響しますか?

+0

どのようなクエリを実行すると結果が「間違った」結果になりますか? – rednaw

+0

コードにクエリが表示されます。それはcurl -XGET 'localhost:9200/my_index/my_type/_search' -d ' { "query":{ "match":{ "title": "QUICK!" } } } ' – chocolate9624

+0

' QUICK! 'の代わりに 'quick'だけを検索しようとしましたか?また、 'curl'コマンドで最後に' GET'を2回検索します。 – rednaw

答えて

0

今はOKです!問題は、「タイトル」インデックスの「アナライザ」を設定しなかったことです。私は "アナライザ"を設定すると、フルテキスト検索が動作します!私はデフォルトのアナライザを信じてはいけません。