-
Notifications
You must be signed in to change notification settings - Fork 9
/
boost_exact_match.sh
95 lines (94 loc) · 2.56 KB
/
boost_exact_match.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
curl -XDELETE localhost:9200/test-idx
curl -XPUT localhost:9200/test-idx -d '{
"settings": {
"index": {
"number_of_shards": 1,
"number_of_replicas": 0,
"analysis": {
"analyzer": {
"synonym": {
"tokenizer": "standard",
"filter": ["lowercase","synonym"]
},
"not_synonym": {
"tokenizer": "standard",
"filter": ["lowercase"]
}
},
"filter": {
"synonym": {
"type": "synonym",
"synonyms": ["i_pod, i pod => ipod"]
}
}
}
}
},
"mappings": {
"doc": {
"properties": {
"name": {
"type": "multi_field",
"fields": {
"name": {
"type": "string",
"index": "analyzed",
"analyzer": "not_synonym"
},
"with_synonyms": {
"type": "string",
"index": "analyzed",
"analyzer": "synonym"
}
}
}
}
}
}
}
'
curl -XPUT localhost:9200/test-idx/doc/1 -d '{
"name": "Testing i_pod"
}'
curl -XPUT localhost:9200/test-idx/doc/2 -d '{
"name": "Testing i pod"
}'
curl -XPUT localhost:9200/test-idx/doc/3 -d '{
"name": "Testing iPod"
}'
curl -XPOST localhost:9200/test-idx/_refresh
echo
echo "------------"
echo "Searching for i_pod"
curl "localhost:9200/test-idx/doc/_search?pretty=true" -d '{
"query": {
"multi_match" : {
"query" : "i_pod",
"operator": "AND",
"fields" : [ "name", "name.with_synonyms^0.5" ]
}
},
"fields": ["name"]
}'
echo
echo "Searching for i pod"
curl "localhost:9200/test-idx/doc/_search?pretty=true" -d '{
"query": {
"multi_match" : {
"query" : "i pod",
"operator": "AND",
"fields" : [ "name", "name.with_synonyms^0.5" ]
}
}
}'
echo
echo "Searching for ipod"
curl "localhost:9200/test-idx/doc/_search?pretty=true" -d '{
"query": {
"multi_match" : {
"query" : "ipod",
"operator": "AND",
"fields" : [ "name", "name.with_synonyms^0.5" ]
}
}
}'