私はフィールド画像を持っており、ユーザーの検索を実装しています。
目標は、最初に人々の写真を表示し、次に人々を表示します。画像が無効な場合のスコアアップ - elasticsearch-1.7
私はElasticsearch 1.7プロジェクトを維持しており、バージョンをアップグレードすることはできません。
マッピング:ユーザーが写真を持っていない場合はdoens
"user": {
"_all": {
"auto_boost": true
},
"properties": {
"id": {
"type": "string",
"store": true
},
"picture": {
"type": "string",
"store": true
}
それはクエリが存在しているようです/ミッシングクエリがElasticSearch 1.7 (doc)
には存在しません、それはnull
として格納されます。彼は1を持っている場合は、ファイル名で保存されています。私も試した
{
"track_scores": true,
"query": {
"bool": {
"must": [
{
"filtered": {
"filter": {
"bool": {
"must": [
{
"term": {
"user.enabled": true
}
}
]
}
}
}
}
],
"should": [
{
"match": {
"picture": {
"query": ".jpg .png .JPG .PNG",
"operator": "or"
}
}
}
]
}
}
}
:まだ
/* ... */
"should": [
{
"terms": {
"minimum_match": 1,
"teacher.picture": [
".jpg",
".png",
".JPG",
".PNG"
]
}
}
]
私はxxx.jpg
またはyyyy.PNG
私はそのようなクエリを実行しようとしました画像なしのものと画像が混ざり合った結果がある...
これをどのように達成できるか知っていますか?
FYI、私は追加画像を削除する必要があります。ありがとう、それは魅力のように動作します – goto
はい、プロフィールピクチャのない人が望むように私はあなたの目的を意識していなかったので、私はそれらを保管しました。私はあなたのために働いてうれしいです。ありがとう – user3775217