simple_query_string
が何も指定されていない、このフィールドを使用していますので、私は、_all
フィールドについてthe documentationを読んでお勧めあなたの場合。
_all
がgoogle.com
が.
で分割されず、google.com
として索引付けされることを意味standard
アナライザとデフォルトによって索引付けされます。つまり、google.com
を検索するとインデックスにこの用語が表示されますが、テキストにはgoogle
が表示されます。
Elasticsearchでの検索は、クエリに関するものだけでなく、であるだけでなく、データをインデックスする方法についてもです。 と同じように単純ではないかもしれませんが、同時にとのSQLクエリでは、より多くの力がに入力されます。時間はSQLより長くなります。あなたから欲しいものに応じて
ごsimple_query
あなたが選択するための複数のオプションを持っているから:
{
"settings": {
"analysis": {
"analyzer": {
"letter": {
"type": "custom",
"tokenizer": "letter",
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"test": {
"_all": {
"analyzer": "letter"
}
とクエリ:
"query": {
"simple_query_string": {
"query": "google"
}
}
- 変更あなたの
field
と**のアナライザはquery_string_query
にそのフィールドを使用します。
{
"settings": {
"analysis": {
"analyzer": {
"letter": {
"type": "custom",
"tokenizer": "letter",
"filter": [
"lowercase"
]
}
}
}
},
"mappings": {
"test": {
"properties": {
"text": {
"type": "string",
"analyzer": "letter"
}
}
と問合せ:
"query": {
"simple_query_string": {
"query": "google",
"fields": ["text"]
}
}
を定義します
ワイルドカードクエリで試しましたか? – AlainIb
@AlainIb google *?はい、この場合は、必要なドキュメントと、クエリに完全に関連していない他の多くのドキュメントを返します。 – Fernando