Match phrase prefix 쿼리
Match phrase prefix 쿼리
match_phrase_prefix 쿼리를 사용해 순서대로 일치할 구문을 지정할 수 있어요. 지정한 구문을 포함하는 문서가 반환됩니다. 구문의 마지막 부분 용어는 접두사로 해석되므로, 지정한 구문과 마지막 용어의 접두사로 시작하는 구문을 포함한 모든 문서가 반환됩니다.
출처: 문서
본문
match_phrase_prefix 쿼리를 사용해 순서대로 일치할 구문을 지정하세요. 지정한 구문을 포함하는 문서가 반환돼요. 구문의 마지막 부분 용어는 접두사로 해석되므로, 그 구문과 마지막 용어의 접두사로 시작하는 구문을 포함한 모든 문서가 반환돼요.
match phrase와 비슷하지만 쿼리 문자열의 마지막 용어로 prefix 쿼리를 만들어요.
match_phrase_prefix와 match_bool_prefix 쿼리의 차이는 The match_bool_prefix and match_phrase_prefix queries에서 참조하세요.
다음 예시는 기본 match_phrase_prefix 쿼리를 보여줘요.
GET _search
{
"query": {
"match_phrase_prefix": {
"title": "the wind"
}
}
}
추가 파라미터를 전달하려면 확장 구문을 사용할 수 있어요.
GET _search
{
"query": {
"match_phrase_prefix": {
"title": {
"query": "the wind",
"analyzer": "stop"
}
}
}
}
예시 (Example)
예를 들어 다음 문서가 있는 인덱스를 생각해 볼게요.
PUT testindex/_doc/1
{
"title": "The wind rises"
}
PUT testindex/_doc/2
{
"title": "Gone with the wind"
}
다음 match_phrase_prefix 쿼리는 전체 단어 wind 다음에 ri로 시작하는 단어가 오는 것을 검색해요.
GET testindex/_search
{
"query": {
"match_phrase_prefix": {
"title": "wind ri"
}
}
}
응답에는 일치하는 문서가 포함돼요.
응답
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 1,
"relation": "eq"
},
"max_score": 0.92980814,
"hits": [
{
"_index": "testindex",
"_id": "1",
"_score": 0.92980814,
"_source": {
"title": "The wind rises"
}
}
]
}
}
파라미터 (Parameters)
이 쿼리는 필드 이름(<field>)을 최상위 파라미터로 받아들여요.
GET _search
{
"query": {
"match_phrase": {
"": {
"query": "text to search for",
...
}
}
}
}
<field>는 다음 파라미터를 받아들여요. query를 제외한 모든 파라미터는 선택 사항이에요.
| 파라미터 | 데이터 타입 | 설명 |
|---|---|---|
query |
String | 검색에 사용할 쿼리 문자열. 필수. |
analyzer |
String | 쿼리를 토큰화하는 데 사용되는 분석기. |
max_expansions |
양의 정수 | 쿼리가 확장할 수 있는 최대 용어 수. 퍼지 쿼리는 fuzziness에 지정된 거리 안에 있는 일치 용어 수로 "확장"됨. 그런 다음 OpenSearch는 그 용어들을 매칭하려 함. 기본값은 50. |
slop |
0(기본값) 또는 양의 정수 | 쿼리의 단어들이 순서가 뒤바뀌어도 여전히 일치로 간주될 수 있는 정도를 제어함. Lucene 문서에서: "쿼리 구문의 단어 사이에 허용되는 다른 단어의 수. 예를 들어 두 단어의 순서를 바꾸려면 두 번의 이동이 필요하므로(첫 번째 이동이 단어들을 서로 위에 놓음) 구문의 재정렬을 허용하려면 slop은 최소 2여야 함. 값 0은 정확히 일치를 요구함." |