2013-11-19 2 views
6

Im используя завершающую Suggester для автозаполнения .. Это мои документыУдвоение поля ввода для завершения Suggester

/* doc 1 */ 
{ 
    Title: CineMAX: Inorbit Mall, Cyberabad 
    Suggest: { 
     input: [ 
      CineMAX: 
      Inorbit 
      Mall 
      Cyberabad 
      CineMAX: Inorbit Mall, Cyberabad 
     ] 
     output: CineMAX: Inorbit Mall, Cyberabad 
     payload: { 
     .... 
     } 
     weight: 1 
    } 
} 

/* doc 2 */ 
{ 
    Title: INOX: Kolkata 
    Suggest: { 
     input: [ 
      INOX: 
      Kolkata 
      INOX: Kolkata 
     ] 
     output: INOX: Kolkata 
     payload: { 
      .... 
     } 
     weight: 1 
    } 
} 

Im используя запрос о завершении, как показано ниже

{ 
    "suggestion":{ 
     "text":"inox", 
     "completion":{ 
      "field":"Suggest", 
      "fuzzy":{ 
       "edit_distance":1, 
       "transpositions":true, 
       "prefix_length":1, 
       "min_length":4 
      } 
     } 

    }  
} 

Но здесь я получаю выход в

  1. CineMAX: Inorbit Mall, Cyberabad,
  2. INOX: Калькутта

Я хочу, чтобы дать более высокий приоритет точного соответствия .. поэтому я хочу INOX: Калькутту в верхней ..

Я расщепляется название с помощью PHP взорваться() .. так что я могу соответствовать средним словам also..I дон знает, как повысить определенные слова в title..Plz помочь мне .. заранее спасибо

+0

Какие отображения и анализаторы устанавливаются по этому показателю? –

ответ

0

Вы можете попробовать запустить два завершение запроса, как это:

{ 
    "text": "inox", 
    "suggestion_not_fuzzy": { 
     "completion": { 
      "field": "Suggest" 
     } 
    }, 
    "suggestion_fuzzy": { 
     "completion": { 
      "field": "Suggest", 
      "fuzzy": { 
       "edit_distance": 1, 
       "transpositions": true, 
       "prefix_length": 1, 
       "min_length": 4 
      } 
     } 
    } 
} 

, а затем попытаться получить результаты от «suggestion_not_fuzzy», если пустой возврат к «suggestion_fuzzy»

1

Что вы хотите дать больше веса к документу, который имеет самое короткое название. Если два запроса соответствуют вашему запросу, тот, у которого самый короткий заголовок означает, что с меньшей информацией он все еще найден, поэтому он должен иметь более высокий балл.

Что вы можете сделать, это во время индексирования установлено:

weight = 1000 - number_of_characters_of_document_title (1000 or any other number : was just trying to have a positive weight) 
Смежные вопросы