Pontozási profilok hozzáadása a keresési pontszámok növeléséhez

Ebben a cikkben megtudhatja, hogyan definiálhat pontozási profilt. A pontozási profilok a megadott paramétereken alapuló keresési pontszám növelését teszik lehetővé. Előfordulhat például, hogy azt szeretné, hogy a "címkék" mezőben található egyezések relevánsabbak legyenek, mint a leírásokban található egyezések. A feltételek lehetnek súlyozott mezők (például a "címkék" példa) vagy egy függvény.

A pontozási profilok egy keresési indexben vannak definiálva, és a lekérdezési kérelmek nem vektoros mezőire vannak meghívva. Létrehozhat több profilt, majd módosíthatja a lekérdezési logikát, hogy kiválassza, melyiket használja.

Megjegyzés:

Nem ismeri a relevancia fogalmait? A YouTube következő videószegmense gyorsan mutatja be, hogyan működnek a pontozási profilok az Azure AI Searchben. A relevancia és a pontozás az Azure AI Searchben további háttérért is felkereshető.

Pontozási profil definíciója

A pontozási profil egy indexsémában definiált objektum. A profilok súlyozott mezőkből, függvényekből és paraméterekből állhatnak.

Az alábbi definíció egy "geo" nevű egyszerű profilt mutat be. Ez a példa a hotelName mezőben található keresési kifejezéssel rendelkező találatokat emeli ki. A függvényt arra distance is használja, hogy előnyben részesítse az aktuális hely 10 kilométeres körzetében lévő eredményeket. Ha valaki a "fogadó" kifejezésre keres, és a fogadó a szálloda nevének része, az aktuális hely 10 km-es körzetében lévő fogadóval rendelkező szállodákat tartalmazó dokumentumok magasabban jelennek meg a keresési eredményekben.

"scoringProfiles": [
  {  
    "name":"geo",
    "text": {  
      "weights": {  
        "hotelName": 5
      }                              
    },
    "functions": [
      {  
        "type": "distance",
        "boost": 5,
        "fieldName": "location",
        "interpolation": "logarithmic",
        "distance": {
          "referencePointParameter": "currentLocation",
          "boostingDistance": 10
        }                        
      }                                      
    ]                     
  }            
]

A pontozási profil használatához a lekérdezés úgy van kialakítva, hogy a kérelemben adja meg a scoringProfile paramétert. A REST API használata esetén a lekérdezések GET és POST kérésekkel vannak megadva. Az alábbi példában a "currentLocation" egy kötőjel () elválasztójelével rendelkezik-. Ezt követik a hosszúsági és szélességi koordináták, ahol a hosszúság negatív érték.

GET /indexes/hotels/docs?search+inn&scoringProfile=geo&scoringParameter=currentLocation--122.123,44.77233&api-version=2020-06-30

Figyelje meg a szintaxisbeli különbségeket a POST használatakor. A POST-ben a "scoringParameters" többes szám, és tömb.

POST /indexes/hotels/docs&api-version=2020-06-30
{
    "search": "inn",
    "scoringProfile": "geo",
    "scoringParameters": ["currentLocation--122.123,44.77233"]
}

Ez a lekérdezés a "fogadó" kifejezésre keres, és az aktuális helyen halad át. Figyelje meg, hogy ez a lekérdezés más paramétereket is tartalmaz, például a scoringParametert. A lekérdezési paramétereket, beleértve a "scoringParameter" paramétert, a Keresési dokumentumok (REST API) ismerteti.

A kiterjesztett példában áttekintheti a pontozási profil részletesebb példáját.

A pontszámok kiszámítása

A pontszámok a teljes szöveges keresési lekérdezésekhez lesznek kiszámítva. Az egyezések pontszáma attól függően történik, hogy mennyire releváns az egyezés, és a legmagasabb pontozási egyezések lesznek visszaadva a lekérdezési válaszban. Az egyes dokumentumok összesített pontszáma az egyes mezők egyedi pontszámainak összesítése, ahol az egyes mezők egyedi pontszámát az adott mezőben található keresett kifejezések kifejezési gyakorisága és dokumentumfrekvencia ( TF-IDF vagy kifejezés frekvencia-inverz dokumentum gyakorisága) alapján számítják ki.

A featuresMode (előzetes verzió) paraméterrel további pontozási adatokat kérhet a keresési eredményekhez (beleértve a mezőszintű pontszámokat is).

Mikor kell pontozási logikát hozzáadni?

Létre kell hoznia egy vagy több pontozási profilt, ha az alapértelmezett rangsorolási viselkedés nem elég messze van az üzleti célok eléréséhez. Dönthet például úgy, hogy a keresési relevancia az újonnan hozzáadott elemeket részesíti előnyben. Hasonlóképpen, lehet, hogy van egy olyan mezője, amely nyereségrést tartalmaz, vagy más, bevételi potenciált jelző mezővel. A pontozási profilok bevezetésében gyakran az a döntő tényező, hogy a felhasználók vagy a vállalat számára jelentőségteljesebb eredményeket hozzon létre.

A keresési oldalon a relevanciaalapú rendezés pontozási profilokon keresztül is implementálva van. Fontolja meg a korábban használt keresési eredményoldalakat, amelyek lehetővé teszik az ár, a dátum, az értékelés vagy a relevancia szerinti rendezést. Az Azure AI Searchben pontozási profilok használhatók a "relevancia" beállítás eléréséhez. A relevancia definíciója felhasználó által meghatározott, az üzleti célokra és a megjeleníteni kívánt keresési felület típusára van meghatározva.

Pontozási profil hozzáadásának lépései

Az egyéni pontozási viselkedés implementálásához adjon hozzá egy pontozási profilt az indexet meghatározó sémához. Egy indexen belül legfeljebb 100 pontozási profillal rendelkezhet (lásd a szolgáltatási korlátokat), de egy adott lekérdezésben egyszerre csak egy profilt adhat meg.

  1. Kezdje egy indexdefinícióval. Meglévő indexek pontozási profiljait anélkül is hozzáadhatja és frissítheti, hogy újra kellene építenie. A frissítési index kérésének használatával tegye közzé a változatot.

  2. Illessze be a cikkben megadott sablonba .

  3. Adjon meg egy nevet. A pontozási profilok megadása nem kötelező, de ha hozzáad egyet, a név megadása kötelező. Ügyeljen arra, hogy kövesse az Azure AI Search mezőkre vonatkozó elnevezési konvencióit (betűvel kezdődik, elkerüli a speciális karaktereket és a fenntartott szavakat).

  4. Adja meg a kiemelési feltételeket. Egyetlen profil tartalmazhat súlyozott mezőket, függvényeket vagy mindkettőt.

Iteratív módon kell dolgoznia egy olyan adatkészlet használatával, amely segít bizonyítani vagy cáfni egy adott profil hatékonyságát.

A pontozási profilok definiálhatók az Azure Portalon az alábbi képernyőképen látható módon, vagy programozott módon REST API-k vagy Azure SDK-k használatával, például a .NET-hez készült Azure SDK ScoringProfile osztályában.

Add scoring profiles page

Súlyozott mezők használata

Használjon súlyozott mezőket, ha a mezőkörnyezet fontos, és a lekérdezések teljes szöveges keresések. Ha például egy lekérdezés tartalmazza a "repülőtér" kifejezést, akkor a Leírás mezőben a "repülőtér" kifejezés nagyobb súlyú lehet, mint a HotelName mezőben.

A súlyozott mezők kereshető mezőből és szorzóként használt pozitív számból állnak. Ha a HotelName eredeti mezőpontszáma 3, a mező összesített pontszáma 6 lesz, ami hozzájárul a szülődokumentum magasabb összesített pontszámához.

"scoringProfiles": [  
    {  
      "name": "boostKeywords",  
      "text": {  
        "weights": {  
          "HotelName": 2,  
          "Description": 5 
        }  
      }  
    }
]

Függvények használata

Függvényeket akkor használjon, ha az egyszerű relatív súlyok nem elegendőek vagy nem alkalmazhatók, ahogyan a távolság és a frissesség esetében is, amelyek numerikus adatokkal kapcsolatos számítások. Pontozási profilonként több függvényt is megadhat. Az Azure AI Searchben használt EDM-adattípusokról további információt a Támogatott adattípusok című témakörben talál.

Function Leírás
"frissesség" Egy datetime mező (Edm.DateTimeOffset) értékei alapján növeli a kiemeléseket. Ez a függvény egy "boostingDuration" attribútummal rendelkezik, így megadhat egy olyan értéket, amely egy olyan időbélyeget jelöl, amely fölött a kiemelés történik.
"magnitúdó" A számértékek számértékének magas vagy alacsony értéke alapján növelhetők. A függvényt igénylő forgatókönyvek közé tartozik a haszonkulcs, a legmagasabb ár, a legalacsonyabb ár vagy a letöltések számának növelése. Ez a függvény csak mezőkkel és Edm.Int mezőkkel Edm.Double használható. A nagyságfüggvény esetében megfordíthatja a tartományt magasról alacsonyra, ha az inverz mintázatot szeretné használni (például az alacsonyabb árú elemeket többre szeretné növelni, mint a magasabb árú elemeket). Figyelembe véve a 100 usd és 1 $ közötti ártartományt, a "boostingRangeStart" értékét 100-ra, a "boostingRangeEnd"-t pedig 1-nél kell beállítani az alacsonyabb árú elemek kiemeléséhez.
"távolság" Növeli a közelség vagy a földrajzi hely alapján. Ez a függvény csak mezőkkel Edm.GeographyPoint használható.
"címke" A keresési dokumentumok és a lekérdezési sztringek gyakori címkéi. A címkéket a "tagsParameter" adja meg. Ez a függvény csak olyan típusú keresési mezőkkel használható, mint a Edm.StringCollection(Edm.String).

Függvények használatának szabályai

  • A függvények csak szűrhetőként hozzárendelt mezőkre alkalmazhatók.
  • A függvény típusának ("frissesség", "magnitúdó", "távolság", "címke") kisbetűnek kell lennie.
  • A függvények nem tartalmazhatnak null vagy üres értékeket.

Sablon

Ez a szakasz a pontozási profilok szintaxisát és sablonjait mutatja be. A pontozási profil attribútumainak leírásáért tekintse meg a következő szakaszban található tulajdonsághivatkozást.

"scoringProfiles": [  
  {   
    "name": "name of scoring profile",   
    "text": (optional, only applies to searchable fields) {   
      "weights": {   
        "searchable_field_name": relative_weight_value (positive #'s),   
        ...   
      }   
    },   
    "functions": (optional) [  
      {   
        "type": "magnitude | freshness | distance | tag",   
        "boost": # (positive number used as multiplier for raw score != 1),   
        "fieldName": "(...)",   
        "interpolation": "constant | linear (default) | quadratic | logarithmic",   

        "magnitude": {
          "boostingRangeStart": #,   
          "boostingRangeEnd": #,   
          "constantBoostBeyondRange": true | false (default)
        }  

        // ( - or -)  

        "freshness": {
          "boostingDuration": "..." (value representing timespan over which boosting occurs)   
        }  

        // ( - or -)  

        "distance": {
          "referencePointParameter": "...", (parameter to be passed in queries to use as reference location)   
          "boostingDistance": # (the distance in kilometers from the reference location where the boosting range ends)   
        }   

        // ( - or -)  

        "tag": {
          "tagsParameter":  "..."(parameter to be passed in queries to specify a list of tags to compare against target field)   
        }
      }
    ],   
    "functionAggregation": (optional, applies only when functions are specified) "sum (default) | average | minimum | maximum | firstMatching"   
  }   
],   
"defaultScoringProfile": (optional) "...", 

Tulajdonsághivatkozás

Attribútum Ismertetés
név Szükséges. Ez a pontozási profil neve. A mező elnevezési konvencióit követi. Betűvel kell kezdődnie, nem tartalmazhat pontokat, kettőspontokat vagy @ szimbólumokat, és nem kezdődhet az azureSearch (kis- és nagybetűk megkülönböztetése) kifejezéssel.
text A súlyozás tulajdonságot tartalmazza.
Súlyok Opcionális. Név-érték párok, amelyek kereshető mezőt és pozitív egész számot vagy lebegőpontos számot adnak meg, amellyel növelhető a mező pontszáma. A pozitív egész szám vagy szám a rangsorolási algoritmus által létrehozott eredeti mezőpontszám szorzójává válik. Ha például egy mező pontszáma 2, a súlyérték pedig 3, akkor a mező növelt pontszáma 6 lesz. A rendszer ezután összesíti az egyes mezőpontszámokat, hogy létrehozhasson egy dokumentummező-pontszámot, amely aztán a dokumentum eredményhalmazban való rangsorolására szolgál.
functions Opcionális. A pontozási függvények csak szűrhető mezőkre alkalmazhatók.
függvény > típusa Pontozási függvényekhez szükséges. A használni kívánt függvény típusát jelzi. Az érvényes értékek közé tartozik a mennyiség, a frissesség, a távolság és a címke. Az egyes pontozási profilokban több függvény is szerepelhet. A függvény nevének kisbetűsnek kell lennie.
függvények > kiemelése Pontozási függvényekhez szükséges. A nyers pontszám szorzójaként használt pozitív szám. Nem lehet egyenlő 1-nek.
functions > fieldname Pontozási függvényekhez szükséges. A pontozási függvények csak az index mezőgyűjteményének részét képező és szűrhető mezőkre alkalmazhatók. Emellett minden függvénytípus további korlátozásokat is bevezet (a frissesség dátum/idő mezőkkel, nagyság egész vagy dupla mezőkkel, valamint távolság a helymezőkkel). Függvénydefiníciónként csak egyetlen mezőt adhat meg. Ha például kétszer szeretne nagyságokat használni ugyanabban a profilban, két definíciós nagyságrendet kell tartalmaznia, egyet minden mezőhöz.
függvények > interpolációja Pontozási függvényekhez szükséges. Meghatározza azt a meredekségeket, amelyeknél a pontszám növelése a tartomány kezdetétől a tartomány végéig növekszik. Az érvényes értékek közé tartozik a lineáris (alapértelmezett), a konstans, a quadratikus és a logaritmikus érték. Részletekért lásd: Interpolációk beállítása.
függvények > nagyságrendje A nagyságrendi pontozás függvény a rangsorolás módosítására szolgál egy numerikus mező értékeinek tartománya alapján. A leggyakoribb használati példák a következők:

"Csillagbesorolások:" Módosítsa a pontszámot a "Csillagbesorolás" mezőben lévő érték alapján. Ha két elem releváns, először a magasabb minősítésű elem jelenik meg.
"Margó:" Ha két dokumentum releváns, előfordulhat, hogy a kiskereskedő először a magasabb margójú dokumentumokat szeretné növelni.
"Kattintások száma:" Az olyan alkalmazások esetében, amelyek nyomon követik a termékekre vagy lapokra történő kattintást, nagyságrenddel növelheti azokat az elemeket, amelyek általában a legnagyobb forgalmat bonyolítják.
"Letöltések száma:" A letöltéseket nyomon követő alkalmazások esetében a nagyságrendi függvény lehetővé teszi a legtöbb letöltést tartalmazó elemek kiemelését.
functions > magnitude > boostingRangeStart Annak a tartománynak a kezdőértékét állítja be, amelynél a pontszám mértéke meg van határozva. Az értéknek egész számnak vagy lebegőpontos számnak kell lennie. Az 1–4 csillagos értékelések esetében ez 1 lenne. Az 50% feletti margók esetében ez 50 lenne.
functions > magnitude > boostingRangeEnd Annak a tartománynak a végértékét állítja be, amely fölött a pontszámot számítja ki. Az értéknek egész számnak vagy lebegőpontos számnak kell lennie. Az 1–4 csillagos értékelések esetében ez 4 lenne.
functions > magnitude > constantBoostBeyondRange Az érvényes értékek igaz vagy hamisak (alapértelmezett). Ha igaz értékre van állítva, a teljes kiemelés továbbra is érvényes lesz azokra a dokumentumokra, amelyeknél a célmező értéke magasabb, mint a tartomány felső vége. Ha hamis, a függvény kiemelése nem lesz alkalmazva a tartományon kívül eső célmező értékével rendelkező dokumentumokra.
funkciók > frissesség A frissesség-pontozási függvény a DateTimeOffset mezők értékei alapján módosítja az elemek rangsorolási pontszámait. Egy újabb dátummal rendelkező elem például magasabb rangsorolható, mint a régebbi elemek.

Az olyan elemeket is rangsorolhatja, mint a naptáresemények a jövőbeli dátumokkal, így a jelenhez közelebb eső elemek magasabban rangsorolhatók, mint a jövőbeni elemek.

Az aktuális szolgáltatáskiadásban a tartomány egyik vége az aktuális időponthoz lesz rögzítve. A másik végén van egy idő a múltban alapuló boostingDuration. A jövőbeni időtartományok növeléséhez használjon negatív boostingDuration értéket.

A maximális és minimális tartományból való kiemelés sebességét a pontozási profilra alkalmazott Interpoláció határozza meg (lásd az alábbi ábrát). Az alkalmazott kiemelési tényező megfordításához válasszon egy 1-nél kisebb kiemelési tényezőt.
funkciók > frissesség > fokozásaDuration Beállít egy lejárati időszakot, amely után a kiemelés leáll egy adott dokumentum esetében. Szintaxist és példákat a következő szakaszban a BoostingDuration beállítása című témakörben talál.
függvény távolsága > A távolsági pontozási függvény a dokumentumok pontszámát a referencia földrajzi helyhez viszonyított közelsége vagy távolsága alapján befolyásolja. A referenciahely a paraméter lekérdezésének részeként (a scoringParameter lekérdezési paraméter használatával) argumentumként lon,lat van megadva.
functions > distance > referencePointParameter A lekérdezésekben referenciahelyként használandó paraméter (a scoringParameter lekérdezési paraméter használatával).
functions > distance > boostingDistance Egy szám, amely kilométerben jelzi a referenciahelytől való távolságot, ahol a kiemelési tartomány véget ér.
függvénycímke > A címkepontozási függvény a dokumentumok címkéi és keresési lekérdezései alapján befolyásolja a dokumentumok pontszámát. A keresési lekérdezéssel közös címkékkel rendelkező dokumentumok fel lesznek emelve. A keresési lekérdezés címkéi pontozási paraméterként vannak megadva minden egyes keresési kérelemben (a scoringParameter lekérdezési paraméter használatával).
functions > tag > tagsParameter A lekérdezésekben átadandó paraméter egy adott kérés címkéinek megadásához (a scoringParameter lekérdezési paraméter használatával). A paraméter a teljes kifejezések vesszővel tagolt listájából áll. Ha a listában egy adott címke vesszővel tagolt lista, akkor a mező szöveg normalizálója segítségével a vesszőket a lekérdezéskor (a vessző karakterét szóközre képezheti le). Ez a megközelítés "összesimít" egy listát, hogy minden kifejezés egyetlen, hosszú vesszővel tagolt kifejezéssorozat legyen.
functionAggregation Opcionális. Csak a függvények megadásakor érvényes. Az érvényes értékek a következők: összeg (alapértelmezett), átlag, minimum, maximum és firstMatching. A keresési pontszám egyetlen érték, amely több változóból, köztük több függvényből van kiszámítva. Ez az attribútum azt jelzi, hogy az összes függvény kiemelése hogyan lesz kombinálva egyetlen összesített kiemeléssel, amelyet aztán az alapdokumentum pontszámára alkalmazunk. Az alappontszám a dokumentumból és a keresési lekérdezésből kiszámított tf-idf értéken alapul.
defaultScoringProfile Keresési kérelem végrehajtásakor, ha nincs megadva pontozási profil, akkor a rendszer az alapértelmezett pontozást használja (csak tf-idf ).

Felülbírálhatja a beépített alapértelmezett beállítást, és egy egyéni profilt helyettesíthet a használni kívánt profillal, ha a keresési kérelemben nem ad meg konkrét profilt.

Interpolációk beállítása

Az interpolációk lehetővé teszik a pontozáshoz használt meredekség alakjának beállítását. Mivel a pontozás magas vagy alacsony, a meredekség mindig csökken, de az interpoláció határozza meg a lefelé mutató meredekség görbét. A következő interpolációk használhatók:

Interpoláció Leírás
linear A maximális és minimális tartományon belüli elemek esetében az elemre alkalmazott lökés folyamatosan csökkenő mennyiségben lesz végrehajtva. A pontozási profil alapértelmezett interpolációja a lineáris.
constant A kezdő és záró tartományban lévő elemek esetében a rangsoreredmények állandó kiemelést kapnak.
quadratic A lineáris interpolációhoz képest, amely folyamatosan csökkenő lendületet ad, a Quadratic kezdetben kisebb ütemben csökken, majd a tartományhoz közeledve sokkal nagyobb időközönként csökken. Ez az interpolációs beállítás nem engedélyezett a címkepontozási függvényekben.
logarithmic A folyamatosan csökkenő lendületű lineáris interpolációhoz képest a Logaritmikus kezdetben nagyobb ütemben csökken, majd a tartományhoz közeledve sokkal kisebb időközönként csökken. Ez az interpolációs beállítás nem engedélyezett a címkepontozási függvényekben.

Constant, linear, quadratic, log10 lines on graph

BoostingDuration beállítása

boostingDuration a függvény attribútuma freshness . Ezzel beállíthat egy lejárati időszakot, amely után a kiemelés leáll egy adott dokumentum esetében. Ha például egy 10 napos promóciós időszakra szeretné növelni egy terméksort vagy márkát, akkor a 10 napos időszakot "P10D" értékként kell megadnia ezekhez a dokumentumokhoz.

boostingDuration XSD "dayTimeDuration" értékként kell formázni (az ISO 8601 időtartamérték korlátozott részhalmaza). Ennek mintája: "P[nD][T[nH][nM][nS]]".

Az alábbi táblázat több példát is tartalmaz.

Duration boostingDuration
1 nap "P1D"
2 nap és 12 óra "P2DT12H"
15 perc "PT15M"
30 nap, 5 óra, 10 perc és 6,334 másodperc "P30DT5H10M6.334S"

További példákért lásd : XML-séma: Adattípusok (W3.org webhely).

Kiterjesztett példa

Az alábbi példa egy két pontozási profillal (boostGenre, newAndHighlyRated) rendelkező index sémáját mutatja be. Az index azon lekérdezése, amely bármelyik profilt lekérdezési paraméterként tartalmazza, a profilt használja az eredményhalmaz pontozására.

A boostGenre profil súlyozott szövegmezőket használ, és növeli az albumTitle, a műfaj és az artistName mezőkben található találatokat. A mezők 1,5, 5, illetve 2-et emelnek ki. Miért olyan magasabb a műfaj, mint a többi? Ha a keresést kissé homogén adatokon végzik (ahogy a "műfaj" a musicstoreindexben), akkor nagyobb varianciára lehet szükség a relatív súlyokban. A musicstoreindexben például a "rock" műfajként és azonos kifejezésű műfaji leírásokban is megjelenik. Ha azt szeretné, hogy a műfaj meghaladja a műfaj leírását, a műfaji mezőnek sokkal nagyobb relatív súlyra lesz szüksége.

{  
  "name": "musicstoreindex",  
  "fields": [  
    { "name": "key", "type": "Edm.String", "key": true },  
    { "name": "albumTitle", "type": "Edm.String" },  
    { "name": "albumUrl", "type": "Edm.String", "filterable": false },  
    { "name": "genre", "type": "Edm.String" },  
    { "name": "genreDescription", "type": "Edm.String", "filterable": false },  
    { "name": "artistName", "type": "Edm.String" },  
    { "name": "orderableOnline", "type": "Edm.Boolean" },  
    { "name": "rating", "type": "Edm.Int32" },  
    { "name": "tags", "type": "Collection(Edm.String)" },  
    { "name": "price", "type": "Edm.Double", "filterable": false },  
    { "name": "margin", "type": "Edm.Int32", "retrievable": false },  
    { "name": "inventory", "type": "Edm.Int32" },  
    { "name": "lastUpdated", "type": "Edm.DateTimeOffset" }  
  ],  
  "scoringProfiles": [  
    {  
      "name": "boostGenre",  
      "text": {  
        "weights": {  
          "albumTitle": 1.5,  
          "genre": 5,  
          "artistName": 2  
        }  
      }  
    },  
    {  
      "name": "newAndHighlyRated",  
      "functions": [  
        {  
          "type": "freshness",  
          "fieldName": "lastUpdated",  
          "boost": 10,  
          "interpolation": "quadratic",  
          "freshness": {  
            "boostingDuration": "P365D"  
          }  
        },  
        {
          "type": "magnitude",  
          "fieldName": "rating",  
          "boost": 10,  
          "interpolation": "linear",  
          "magnitude": {  
            "boostingRangeStart": 1,  
            "boostingRangeEnd": 5,  
            "constantBoostBeyondRange": false  
          }  
        }  
      ]  
    }  
  ],  
  "suggesters": [  
    {  
      "name": "sg",  
      "searchMode": "analyzingInfixMatching",  
      "sourceFields": [ "albumTitle", "artistName" ]  
    }  
  ]   
}  

Kapcsolódó információk