custom_score 쿼리λ₯Ό μ¬μ©νκ³ null κ°μ ν¬ν¨ν μ μλ νλλ₯Ό κΈ°λ°μΌλ‘ μ μλ₯Ό 맀길 λ λ¬Έμ κ° μλ κ² κ°μ΅λλ€.
λ΄κ° κ°μ§κ³ μλ κ²μ κ°μν λ :
{"user": {"name": "John", "position": null}}
custom_score λ° λ€μκ³Ό κ°μ μ€ν¬λ¦½νΈλ₯Ό μ¬μ©νμ¬ μΏΌλ¦¬ν λ:
{"script": "_score + doc['position'].value"}
λ€μ μ€λ₯κ° λ°μν©λλ€.
ElasticSearchIllegalArgumentException[No field found for [position]]; }]
λ€λ₯Έ μ¬μ©μλ₯Ό μΆκ°νλ κ²½μ°:
{"user": {"name": "Jane", "position": 1}}
λͺ¨λ κ²μ΄ μ μλν©λλ€.
κΈ°λ³Έ λμμ null κ° νλκ° nullμ λ°ννκ³ μ€λ₯λ₯Ό λ°μμν€μ§ μλ κ²μ΄μ΄μΌ νλ€κ³ μκ°ν©λλ€.
μμ μλ ννΈμμ΄ λ³΄μΌ μ μμ§λ§ μ΄μ null κ° μ΄μΈμ λ€λ₯Έ κ²μ΄ ν¬ν¨λμ§ μλλ€λ 보μ₯μ΄ μλ λ°μ΄ν°λ² μ΄μ€μ λ°μ΄ν°λ‘ μΈλ±μ€λ₯Ό μ±μ°λ κ²μ μμν΄ λ³΄μμμ€. 맀νμ μ¬μ©νμ¬ νλλ₯Ό λ¬Έμμ΄λ‘ νλ³ννμ¬ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μμ§λ§ ElasticSearchκ° μ€ν¬λ¦½νΈ κ°μ λ³΄λ€ μ§λ₯μ μΌλ‘ μ²λ¦¬ν μ μλ€κ³ νμ€ν μ μν©λλ€.
μ, κ·Έλ¦¬κ³ λ©μ§ μ ν κ°μ¬ν©λλ€! :-)
μΌ,
μ΄κ²μ ν΄λΉ νλκ° μμ§ λμ
λμ§ μμκΈ° λλ¬Έμ λ°μν©λλ€(null κ°μ κ°μ§). ν΄λ¬μ€ν°μ λ¨μΌ κ°μΌλ‘ λμ
λλ©΄ μ λλ‘ μλν©λλ€. ν΄λΉ νλκ° null
μΈ κ²½μ° νΉμ null κ°μ μΈλ±μ±ν 맀νμμ null-value
λ₯Ό μ μν μλ μμ΅λλ€. λμ
λμ§ μμμΌλ―λ‘ ν΄λΉ μ νμ νμμν¬ μ μμ΅λλ€.
λ€, μ΄ν΄ν©λλ€. μμΈλ₯Ό λ°μμν€κ³ κ²°κ³Όκ° λ°νλμ§ μκ² νλ λμ μ€ν¬λ¦½νΈ κ°μ΄ nullμ λ°ννκ±°λ μ΅μν μ‘΄μ¬ μ¬λΆλ₯Ό νμΈνλ μ΄λ€ μ’ λ₯μ κΈ°λ₯μ κ°λ κ²μ΄ λ λ«μ§ μμκΉμ?
μ:
{"script": "_score + (doc['position'].present ? doc['position'] : 0)"}
μ΄κ²μ μλν΄μΌ ν©λλ€:
{"script": "_score + (doc.containsKey('position') ? doc['position'].value : 0)"}
λλ λ€μκ³Ό κ°μ κ²½μ°λ μμ΅λλ€.
{"script": "_score + (doc['position'] ? doc['position'].value : 0)"}
κ·ΈλΌμλ λΆκ΅¬νκ³ κ° μ€λμ λν΄ νλ μ΄μμ λ¬Έμμ position
κ°μ΄ μλ μΆ©λΆν λ°μ΄ν° μΈνΈκ° μμΌλ©΄ μ΄ κ²μ¬κ° νμνμ§ μμΌλ©° μ€ν¬λ¦½νΈμ μ±λ₯μ΄ ν¨μ¬ λ μ’μμ§λλ€.
μΉλͺ μ μΈ μ€λ₯: μ‘νμ§ μμ [NoFieldFound]νλλ₯Ό μ°Ύμ μ μμ: Contact._PloiciesLastApplicationDate0 μλ: 1ν. λμ Έ
μ°λ½μ²λ₯Ό μ λ°μ΄νΈνλ λμ λ€μ μ€λ₯κ° λ°μν©λλ€.
$checkExist = Infusionsoft_DataService::query(new Infusionsoft_Contact(), array('Phone1' => '(618)-795-0304'));
μ°λ½μ²λ₯Ό κ°μ Έμ€κ³ μ ν λ²νΈλ₯Ό κΈ°λ°μΌλ‘ μ°λ½μ²λ₯Ό μ λ°μ΄νΈνκ³ μμ§λ§μ΄ μ€λ₯κ° λ°μν©λκΉ?
κ°μ¬ ν΄μ!
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ μλν΄μΌ ν©λλ€:
λλ λ€μκ³Ό κ°μ κ²½μ°λ μμ΅λλ€.
κ·ΈλΌμλ λΆκ΅¬νκ³ κ° μ€λμ λν΄ νλ μ΄μμ λ¬Έμμ
position
κ°μ΄ μλ μΆ©λΆν λ°μ΄ν° μΈνΈκ° μμΌλ©΄ μ΄ κ²μ¬κ° νμνμ§ μμΌλ©° μ€ν¬λ¦½νΈμ μ±λ₯μ΄ ν¨μ¬ λ μ’μμ§λλ€.