2012-01-17 1 views
1

내 데이터 모델 :SOLR 동의어

Dress 
|-kind 
|-color 
|-for_season 

다음과 같은 내가, 특정 시즌뿐만 아니라 모든 계절에 대한 모델을 검색 할 :

검색 쿼리 : all seasons

일치 함 : Winter, Spring, Summer, Fall

내 동의어 파일에 다음 줄이 있습니다.

all\s seasons: winter, spring, summer, fall

나는 쿼리 시간을 보내고 있으며, 솔라 관리 패널이 용어 열의 동의어를 보여주는 페이지를 분석하는 것을 보았습니다. 그러나 for_season:all seasons을 검색 할 때 어떤 결과도 얻지 못합니다.

왜 그런가? 이것에 당신의 시간을 알기.

편집 : 여기

내가 무엇을 발견 :

나는 다음과 같이 오른쪽에 나타나는 동의어를 탈출했다
  1. : 쿼리에서

    all news => weather\ forecast, sports, ... 
    
  2. 시간, 나는 큰 따옴표로 쿼리를 래핑해야했다. 나는 그것이 반복하지 않는 것을 찾을 수 없습니다로 RHS에 원래의 단어를 넣어했다

    my_field:"all news" 
    
  3. 다음과 같습니다.

    news => news, weather\ forecast, sports, ... 
    

는 이제 잘 작동하는 것 같습니다. 시간 내 줘서 고마워.

+1

이 경우 도움이됩니다 이 필드에 대한 스키마를 여기에 붙여 넣을 수 있습니다. – KaKa

답변

2

공간은 동의어 구성 파일에서 분리 문자가 아닙니다. 당신은 그것을 벗어날 필요가 없습니다. 여기

당 문서 : 이것은 단지

all seasons => winter, spring, summer, fall 
0

을해야 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters#solr.SynonymFilterFactory

일반적으로 아파치 SOLR 멀티 용어의 동의어 문제 (예를 들어, '모든 계절')가있다.

을 여기에이 문제의 좋은 해결책 찾을 수 있습니다 :이 문제에 대한 설명은 여기에서 찾을 수 있습니다

https://lucidworks.com/blog/2014/07/12/solution-for-multi-term-synonyms-in-lucenesolr-using-the-auto-phrasing-tokenfilter/