ユーザーがテキストと地理的な場所でオブジェクトを検索できるようにします。テキストで検索するときは、通常のクエリと補完候補と同様に用語を提案したいと思います。フィルターを適用したクエリに提案者を追加しようとすると、エラーが発生します。助言がありますか?Elasticsearch [フィルタリング]クエリが[提案]をサポートしていません
マイマップ:
curl -XPUT http://localhost:9200/objects/object/_mapping -d '{
"object": {
"properties": {
"objectDescription": {
"type": "string"
},
"suggest": {
"type": "completion",
"analyzer": "standard",
"search_analyzer": "standard",
"payloads": true
}
}
}
}'
curl -X PUT http://localhost:9200/objects/object/_mapping -d '{
"object":{"properties":{"location":{"type":"geo_point"}}}
}'
マイサーチ:
{
"query": {
"filtered": {
"query": {
"fuzzy": {
"objectDescription": {
"value": "burger"
}
}
},
"filter": {
"or": [
{
"geo_distance": {
"distance": "15mi",
"location": {
"lat": 33.4255104,
"lon": -111.94000540000002
}
}
},
{
"bool": {
"must": [
{
"term": {
"administrative_area_level_1": "AZ"
}
},
{
"term": {
"addressType": "administrative_area_level_1"
}
}
]
}
}
]
}
}
}
}
私はあなたがフィルターなしで、それは私のフィルタを無視するだろうとクエリと同じレベルで示唆追加
。それは、緯度経度の近くの場所ではない検索されたオブジェクトを検索します。{
"query":{
"filtered":{
"query":{
"fuzzy":{
"objectDescription":{"value":"bears"}
}
},
"filter":{
"bool":{
"should":[
{
"geo_distance":{
"distance":"15mi",
"location":{
"lat":43.6187102,
"lon":-116.21460680000001
}
}
},
{
"bool":{
"must":[
{
"term":{"administrative_area_level_1":"ID"}
},{
"term":{"addressType":"administrative_area_level_1"}
}
]
}
}
]
}
}
}
},
"suggest":{
"object-suggest":{
"text":"bears",
"completion":{
"field":"suggest",
"fuzzy":{"fuzziness":2}
}
}
}
}
質問の代わりに本文の示唆部分を配置すると、このエラーが発生します。
{
"query":{
"filtered":{
"suggest":{
"object-suggest":{
"text":"bears",
"completion":{
"field":"suggest",
"fuzzy":{"fuzziness":2}
}
}
},
"filter":{
"bool":{
"should":[
{
"geo_distance":{
"distance":"15mi",
"location":{
"lat":43.6187102,
"lon":-116.21460680000001
}
}
},
{
"bool":{
"must":[
{
"term":{"administrative_area_level_1":"ID"}
},{
"term":{"addressType":"administrative_area_level_1"}
}
]
}
}
]
}
}
}
}
}
だから私の問題は、私はelastic.co上または完了SUGGESTORで検索ジオロケーションの組み合わせを持っているStackOverflowの上で例を発見していないです。
エラーが発生するクエリは、その中には示唆がないので、確実ですか? – Val
こんにちは!申し訳ありませんが、エラーを出していた実際のボディを含めずに、自分のコードスニペットを整理してくれてありがとう。私はこの問題にフィルタの質問を含めることを提案した。私の目標は、ジオロケーションフィルタを使用して、提案者のテキストを検索することです。見ていただきありがとうございます! –