考慮下面的文件,Elasticsearch嵌套映射似乎並沒有工作
{
"domain": "www.example.com",
"tag": [
{
"name": "IIS"
},
{
"name": "Microsoft ASP.NET"
}
]
}
當我啓動一個查詢asp
或asp.net
我想看到的Microsoft ASP.NET
文檔中的結果集。
所以我需要較低的情況下分析儀和除去從字符的.
字符,所以我嘗試下面的映射,
curl -XPUT http://localhost:9200/tag-test -d '{
"settings": {
"analysis": {
"filter": {
"domain_filter": {
"type": "word_delimiter",
"type_table": [". => ALPHANUM", ": => ALPHANUM"]
}
},
"analyzer": {
"domain_analyzer": {
"type": "custom",
"tokenizer": "whitespace",
"filter": ["lowercase", "domain_filter"]
}
}
}
},
"mappings": {
"assets": {
"properties": {
"domain": {
"type": "string",
"analyzer": "domain_analyzer"
},
"tag": {
"type": "nested",
"properties": {
"name": {
"type": "string",
"analyzer": "domain_analyzer"
}
}
}
}
}
}
}'; echo
然後我試圖以下查詢,所有這些都產生空結果
tag.name:asp
tag.name:asp.net
tag.name:*asp*
我使用的查詢字符串查詢,
curl http://localhost:9200/tag-test/_search?q=tag.name:asp
任何我DEAS?
你重新索引文件後,新設置上傳? – xeye
你正在運行什麼類型的查詢。我的意思是'term','querystring','match' ??? – Richa
@xeye每次索引被刪除並重新創建 – daisy