2015-11-29 23 views
-2

開始我想用瓦令牌來分析字符串「敏捷的棕色狐狸跳過懶狗」到:如何使用瓦令牌elasticsearch從字符串

1.

2.快速

...

n。快速的棕色狐狸跳過懶狗

我需要幫助。 謝謝。

+1

請在您的問題中包含您已經嘗試的代碼或配置,以獲得對您的問題的更好回覆。 – SnareChops

回答

0

通過使用我們創建了瓦令牌過濾器自定義分析以下指標設置,您就可以生成你期待的條款:

curl -XPUT localhost:9200/your_index -d '{ 
    "settings": { 
    "index": { 
     "number_of_shards": "5", 
     "number_of_replicas": "1", 
     "analysis": { 
     "analyzer": { 
      "my_shingles": { 
      "tokenizer": "standard", 
      "filter": [ 
       "shingles" 
      ] 
      } 
     }, 
     "filter": { 
      "shingles": { 
      "type": "shingle", 
      "min_shingle_size": 2, 
      "max_shingle_size": 10 
      } 
     } 
     } 
    } 
    }, 
    "mappings": { 
    "your_type": { 
     "properties": { 
     "field": { 
      "type": "string", 
      "analyzer": "my_shingles" 
     } 
     } 
    } 
    } 
}' 

然後,我們可以問_analyze端點,以顯示它如何記號化你的句子:

curl -XGET 'localhost:9200/your_index/_analyze?analyzer=my_shingles&pretty' -d 'The quick brown fox jumps over the lazy dog' 

的響應將是

{ 
    "tokens" : [ { 
    "token" : "The", 
    "start_offset" : 0, 
    "end_offset" : 3, 
    "type" : "<ALPHANUM>", 
    "position" : 1 
    }, { 
    "token" : "The quick", 
    "start_offset" : 0, 
    "end_offset" : 9, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown", 
    "start_offset" : 0, 
    "end_offset" : 15, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown fox", 
    "start_offset" : 0, 
    "end_offset" : 19, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown fox jumps", 
    "start_offset" : 0, 
    "end_offset" : 25, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown fox jumps over", 
    "start_offset" : 0, 
    "end_offset" : 30, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown fox jumps over the", 
    "start_offset" : 0, 
    "end_offset" : 34, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown fox jumps over the lazy", 
    "start_offset" : 0, 
    "end_offset" : 39, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    "token" : "The quick brown fox jumps over the lazy dog", 
    "start_offset" : 0, 
    "end_offset" : 43, 
    "type" : "shingle", 
    "position" : 1 
    }, { 
    ... 

您還會注意到,會產生更多的帶狀皰疹,但上面的帶狀皰疹符合您的預期。

+0

謝謝,但我想查詢只有令牌有位置1. –

+0

好的,這並不明確。不幸的是,我不能確定你可以通過帶狀皰疹達到預期效果。 – Val