3

Elasticsearch を使用してサイトの検索機能を提供することを検討しています。

私はそれを試してきましたが、Porterstem アナライザーを有効にすることができません (そのため、戦いの検索は戦いと戦いに一致します)。

これが私の入力の概要です。

    curl -XPUT localhost:9200/local/ -d'
    index :                     
        analysis : 
            analyzer : 
                stemming : 
                    type : custom 
                    tokenizer : standard 
                    filter : [standard, lowercase, stop, porterStem] 
    '

    curl -XPUT localhost:9200/local/_mapping -d'{"properties": { "title" : { "analyzer" : "stemming", "type" : "string" }}}'

    curl -XPUT localhost:9200/local/article/1 -d'{"title": "Fight for your life"}'
    curl -XPUT localhost:9200/local/article/2 -d'{"title": "Fighting for your life"}'
    curl -XPUT localhost:9200/local/article/3 -d'{"title": "My dad fought a dog"}'
    curl -XPUT localhost:9200/local/article/4 -d'{"title": "Bruno fights Tyson tomorrow"}'

ただし、「戦い」の検索を実行すると、最初のエントリ (正確な用語を含むエントリ) のみに一致します。

curl -XGET localhost:9200/local/_search?q=fight

正しい設定がセットアップされているように見えますが、機能していないようです。

      "indices" : {
        "local" : {
          "aliases" : [ ],
          "settings" : {
            "index.analysis.analyzer.stemming.type" : "custom",
            "index.analysis.analyzer.stemming.tokenizer" : "standard",
            "index.analysis.analyzer.stemming.filter.1" : "lowercase",
            "index.analysis.analyzer.stemming.filter.0" : "standard",
            "index.analysis.analyzer.stemming.filter.3" : "porterStem",
            "index.analysis.analyzer.stemming.filter.2" : "stop",
            "index.number_of_shards" : "5",
            "index.number_of_replicas" : "1"
          },

誰かがこの機能を起動して実行し、私を正しい方向に向けることができますか?

4

1 に答える 1

4

Snowball Stemmerを使用して、カスタム アナライザーを使用するための設定例があります。

于 2011-03-22T11:18:24.283 に答える