query_string을 이용하여 특정 파일 명을 가져오는 부분을 진행하고 있습니다. 대부분의 쿼리는 잘되나
아래와 같은 쿼리에서 문제가 발생합니다.
"query": "ERP 가맹점 정보 DB 업데이트", "query": ""가맹점 정보 DB 업데이트"", 로 검색시 결과가 잘 나오나 "query": ""ERP 가맹점정보 DB 업데이트"", 와 같이 검색 시 결과가 안나오는 증상이 있습니다.
어떠한 이유로 결과가 안나오는지 이해가 안됩니다.
참고로 옵션 문제일까 싶어 decompound_mode 옵션을 mixed에서 discard로 변경하면 결과가 잘 나옵니다.
아래 테스트 했던 정보 입니다.
PUT nori_sample
{
"settings": {
"index": {
"analysis": {
"tokenizer": {
"korea_user_dict": {
"type": "nori_tokenizer",
"decompound_mode": "mixed",
"user_dictionary": "userdict.txt"
}
},
"analyzer": {
"korea": {
"type": "custom",
"tokenizer": "korea_user_dict"
}
}
}
}
},
"mappings": {
"properties": {
"fileName": {
"type": "keyword",
"fields": {
"kr": {
"type": "text",
"analyzer": "korea"
}
}
}
}
}
}
POST nori_sample/_doc
{
"fileName": "ERP 가맹점 정보 DB 업데이트_20210614.docx"
}
GET nori_sample/_search
{
"query": {
"query_string": {
"query": "\"가맹점 정보 DB 업데이트\"",
"fields": ["fileName.kr"]
}
},
"highlight": {
"fields": {"fileName.kr": {}}
}
}