2016-07-26 2 views
1

最後にドットを持つ文の最後の単語を見つけることができません。こんにちは世界 '、エラスティックはそれを見つけます。弾性は、私は次の設定で弾性を使う

文中で「こんにちは」という言葉を見つけようとすると、「こんにちは。世界は、弾性がそれを見つけます。

「hello」という文章で「hello」という単語を見つけようとすると、Elasticもそれを見つけます。

しかし、私は「こんにちは」という言葉を「こんにちは」という文で見つけようとします。 (最後にドットが付きます)、弾性はそれを見つけません。

同時に2つの最後の文のトークンが

{ 
"tokens": [{ 
    "token": "hello", 
    "start_offset": 0, 
    "end_offset": 5, 
    "type": "<ALPHANUM>", 
    "position": 0 
}] 
} 

(それらが同一である)

のように見える質問です:なぜそれが起こるのでしょうか?どうすれば修正できますか?

+0

使用している正確なクエリは何ですか? –

+0

'curl -XPUT 'localhost:9200/liza_index/.percolator/UNIQ_ID4' -d '{" query ":{"一致 ":{" regexp ":{"メッセージ ":" hello "}}}}' 'と 'curl -XGET 'localhost:9200/liza_index/liza_type/_percolate' -d '{" doc ":{"メッセージ ":"こんにちは "}}' ' – Shelari

答えて

0

あなたのパターンは間違っています。次のようになります。

"pattern": "(\.\s*)|[\s,\[\]\(\)\"\!\'\?\`\*\;\:\/<>«»\#]+" 
+0

ありがとう! – Shelari