16

私はelasticsearch-jettyプロジェクトを使用してelasticsearchを組み込んでいますが、デフォルトよりもトークン化機能を使用するように設定する必要があります。キーワードトークナイザーを使いたい。

設定ファイルを使用してこれを行う方法を一生理解できません。誰かが設定ファイルを介してこれを行う方法を教えてもらえますか?

余談ですが、インデックスにPOSTを実行することで、インデックスの稼働中にインデックスを調整することはできますか?使い方を本当に知りたいのですが、よろしくお願いします。

編集/更新:ここでヘルプを検索しているときに見たいくつかの例/フォーラムから設定を調整しようとして、curl -XPUTまたは-XPOSTをlocalhost:9200に実行するのに問題があり、「いいえ」の結果が得られますuri[]およびメソッド[PUT]/[POST]のハンドラー。

編集2:更新、インデックスに対してXPUTを実行しても機能しますが、「インデックスはすでに存在します」というエラーが発生します。私はそれが存在することを知っています、私はそれを更新したいと思います。

4

2 に答える 2

27

構成ファイルでマッピングを定義できますが、ほとんどの場合、APIを介して構成する方が簡単で柔軟性があります。たとえば、次のコマンドは、キーワード/小文字アナライザーをインデックスに追加しますtest

$ curl -XPUT localhost:9200/testindex/ -d '
{
  "settings":{
     "index":{
        "analysis":{
           "analyzer":{
              "analyzer_keyword":{
                 "tokenizer":"keyword",
                 "filter":"lowercase"
              }
           }
        }
     }
  },
  "mappings":{
     "test":{
        "properties":{
           "title":{
              "analyzer":"analyzer_keyword",
              "type":"string"
           }
        }
     }
  }
}'
于 2013-02-26T01:17:48.303 に答える
0

既存のインデックスを更新するには、

$ curl -XPUT localhost:9200/testindex/_settings -d '
{
..........
}

ただし、非動的設定を更新することはできません。

于 2014-05-19T18:58:27.737 に答える