2013-10-10 9 views
0

Я новичок в поиске elasticsearch, и я пытаюсь настроить синонимы, но он не работает должным образом.elasticsearch mutiple word synonms не работает

я следующие данные в моих полях 1) Techincal свинца, модуль Lead, инженер-программист, старший инженер-программист

Я хочу, если я искать ТЛ, то он должен Retun «технический руководитель» или «ТЛ» Однако он возвращает мне «Technical Lead» и «Leading Module», потому что свинец обозначается индексом tme.

Не могли бы вы помочь мне в решении этой проблемы с точными настройками.

Я видел это время индекса и время поиска, но не могу это понять.

synonyms.txt:

Т.Л., TL => Технический Lead

себе, SE => Инженер-программист

ссе => Старший инженер-программист

Отображение файлов :

{ 
    "settings": { 
    "index": { 
     "analysis": { 
     "analyzer": { 
      "synonym": { 
      "tokenizer": "whitespace", 
      "filter": [ 
       "synonym" 
      ] 
      } 
     }, 
     "filter": { 
      "synonym": { 
      "type": "synonym", 
      "synonyms_path": "synonyms.txt" 
      } 
     } 
     } 
    } 
    }, 
    "mappings": { 
    "tweet": { 
     "properties": { 
     "Domain": { 
      "type": "string", 
      "analyzer": "synonym" 
     }, 
     "Designation": { 
      "analyzer": "synonym", 
      "type": "string" 
     }, 
     "City": { 
      "type": "string", 
      "analyzer": "synonym" 
     } 
     } 
    } 
    } 
} 

ответ

0

Ваши жетоны здесь одинаковы, поэтому у вас есть эта часть. Что вам нужно сделать, так это убедиться, что вы выполняете совпадение «И» вместо «или», поскольку оно похоже только на любое слово, а не на все.

проверить ваши жетоны:

localhost:9200/test/_analyze?analyzer=synonym&text=technical lead 
localhost:9200/test/_analyze?analyzer=synonym&text=tl 

И запрос

{ 
    "query": { 
     "match": { 
     "domain": { 
      "query": "tl", 
      "operator": "and" 
     } 
     } 
    } 
} 

Обычно вы хотите, чтобы ваши поисковые и индексные анализаторы быть одинаковыми. Однако есть много передовых примеров, где это не является предпочтительным. Однако в случае с синонимами часто вы не хотите использовать синонимы в том или ином случае, когда вы включаете расширения. ie tl, технический свинец

Однако, поскольку вы используете => тип синонимов, это действительно не имеет значения, потому что все слова будут преобразованы в слово справа, а не создают кучу токенов для каждого слова между запятыми.

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

  • Нет связанных вопросов^_^