2016-08-22 2 views
1

私はELasticsearchに初心者です。分析されたフィールドで比類のない結果を返すESに関しては助けが必要です。 次のように私はカスタムアナライザを持っている:Elasticsearchは比類のない結果を返します

"analyzer": { 
      "testing_analyzer": { 
       "type": "custom", 
       "char_filter": "html_strip", 
       "tokenizer": "standard", 
       "filter": [ 
        "lowercase", 
        "asciifolding", 
        "snowball", 
        "stop" 
       ] 
      }, 
      "testing_search_analyzer": { 
       "type": "custom", 
       "char_filter": "html_strip", 
       "tokenizer": "standard", 
       "filter": [ 
        "lowercase", 
        "asciifolding" 
       ] 
      } 
     } 

次のように私は両方のインデックス&検索にフィールドに、このアナライザを設定しています。

"name": 
{ 
"type": "string", 
"analyzer": "testing_analyzer", 
"search_analyzer": "testing_search_analyzer" 
} 

が、名前「università・ディ・ボローニャ」の検索は、それが最初の結果レコードを返す同じ試合を持っていますが、いくつかの他のレコードは、(下記の結果で2位の記録)と一致しません:

レコード1:

[ "Università di Bologna", "University of Bologna", "CNR", "Università di Pisa", "University of Pisa", "Mineraria e Delle Tecnologie Ambientali" ] 

RECORD2:

[ "University of Salerno", "Università di Salerno" ] 

問合せ:

{ 
    "fields": [ 
     "doc_id", 
     "name" 
    ], 
    "query": { 
     "match": { 
     "name": "Università di bologna" 
     } 
    } 
} 

+0

'testing_search_analyzer'が定義されていますか? – keety

+0

"testing_search_analyzer": { "タイプ": "カスタム"、 "char_filter": "html_strip"、 "トークナイザ"、 "標準" "フィルタ": "小文字"、 "asciifolding"] } 、 – Telebh

+0

あなたもクエリを表示できますか? – keety

答えて

1

結果は期待通りです。 デフォルトでは、一致クエリはtokenizerによって生成されたトークンの「OR」を行います。

を次のようにクエリを変更してみてください:

{ 
    "fields": [ 
     "doc_id", 
     "name" 
    ], 
    "query": { 
     "match": { 
     "name": { 
      "query": "Università di bologna", 
      "operator": "and" 
     } 
     } 
    } 
} 
+0

「と」演算子を指示通りに追加した後で動作しました!どうもありがとうございます。なぜ "と"演算子を追加せずに、正確な検索語をもたないレコードのほうが、正確に一致するレコードより高いスコアを示したのですか? – Telebh

+0

[説明](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html)をオンにしてみてください。回答があった場合は、なぜこれが起こる可能性があるかについてのヒントが表示されることがあります。 – keety

+0

helpfu upvote&ありがとう: – keety

関連する問題