2014-09-09 3 views
0

я получаю 0 делает следующее на новый индекс результатовне может получить поиск префикс ничего возвращать

GET /umd/_search 
{ 
    "query":{ 
     "prefix": { 
     "title": "Family Guy" 
     } 
    } 
} 

Однако делать это возвращает правильный результат

GET /umd/_search 
{ 
    "query": { 
    "match_phrase": { 
     "title": { 
     "query": "Family Guy", 
     "slop": 1 
     } 
    } 
    } 
} 

Как я могу получить префикс искать работу? В идеале я бы хотел, чтобы он вернулся к записи, если я ищу «Family G»

Должен ли я устанавливать тип заголовка в «не анализированный» для поиска префикса? Например.

"type": "string", 
"index": "not_analyzed" 

Как я могу получить поиск match_phrase, работающий с поиском по запросу «Family Gu»?

ответ

0

Должен ли я устанавливать тип заголовка в «не проанализированный» для поиска префикса?

Да, это так. Также упоминается здесь: http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/prefix-query.html

Это, как говорится, я бы не рекомендовал этот метод. Это действительно предназначено для быстрых демонстраций/всплесков. Для более эффективного и масштабируемого решения я бы рекомендовал использовать краевые n-граммы.

http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_index_time_search_as_you_type.html

Смежные вопросы