11

具体的には、ストップ ワード リストなしですべて (たとえば、who) にインデックスを付けたいと考えています。エラスティック検索は十分に柔軟で、簡単に変更できますか?

4

4 に答える 4

17

デフォルトでは、elasticsearch が使用するアナライザーは、デフォルトの Lucene English ストップワードを持つ標準アナライザーです。Elasticsearch.yml ファイルに以下を追加して、同じアナライザーを使用するように Elasticsearch を構成しましたが、ストップワードは使用しません。

# Index Settings
index:
  analysis:
    analyzer:
      # set standard analyzer with no stop words as the default for both indexing and searching
      default:
        type: standard
        stopwords: _none_
于 2011-06-17T09:33:16.423 に答える
4

これらの行をelasticsearch.ymlに追加することで、デフォルトのアナライザーをグローバルにオーバーライドし、ストップワード フィルターをオフにすることができます。

index.analysis.analyzer.default:
  type: custom
  tokenizer: standard
  filter: standard, lowercase

これにより、標準のトークナイザーと 2 つのフィルター (標準と小文字) を備えたカスタム アナライザーが作成されます。このようにして、カスタム アナライザーは標準アナライザーと同じになりますが、ストップワード フィルターは使用されません。「デフォルト」という名前が付けられているため、elasticsearch は、アナライザーが明示的に設定されていないすべての場所で使用します。

于 2012-10-22T13:25:53.060 に答える
0

確かにできます。ストップワードの代わりに stopwords_path を使用します。詳細についてはhttp://www.elasticsearch.org/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html

于 2014-05-29T06:09:58.197 に答える