2010-05-16 2 views
6

를 검색 할 수 없습니다 젠드 루씬 내가 설명 필드에 숫자를 검색 할 수 없습니다 젠드 루씬을 사용하여 숫자

이처럼 추가 :

$doc->addField(Zend_Search_Lucene_Field::Text('description', $current_item['item_short_description'], 'utf-8')); 

이를 위해 인터넷 검색은 다음 코드를 적용하는 그것을 문제를 해결해야하지만 것을 보여 주었다 하지 않았다 : ..

Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive()); 

어떤 thougts?

답변

8

기본 분석기를 으로 두 번 설정해야합니다. : 색인 생성 프로세스와 검색 프로세스에서.

위의 코드 줄을 사용 :

Zend_Search_Lucene_Analysis_Analyzer::setDefault(new Zend_Search_Lucene_Analysis_Analyzer_Common_TextNum_CaseInsensitive()); 
0

나는 '젠드'에 대한 모르겠지만, 루씬의 수와 거래, 당신은 기술 다음 사용을 필요

document.Add : 다음 사용을 문서화 INT를 배치

  • (새 필드 (FIELD_SPEC, NumberTools.LongToString (YOUR_INT), Field.Store.YES, Field.Index.UN_TOKENIZED));

  • 값의 사용 기간을 찾으려면 : 기간 (FIELD_SPEC, NumberTools.LongToString (YOUR_INT))를

+0

는 어떻게 설명을 사용합니까? 내 설명 안의 숫자를 검색 할 수 있도록하고 싶습니다. 나는 "seprate integer"만 가지고있는 것이 아닙니다. –

+0

@Pavel Dubinin - 내 메모를보십시오. "가치 사용 용어 찾기 : ..."검색이 필요할 때 NumberTools를 사용하여 Term이 생성되는 BooleanQuery의 일부로이를 검색하십시오. 표준 qury 파서를 사용하면 약간 복잡합니다.이 경우 쿼리의 모든 숫자를 값으로 렌더링하여 전처리합니다. NumberTools – Dewfy

1

당신이 사용 했 그 Zend_Search_Lucene 전이나 호출 한 후 명령 :: 개방()?

미리 전화를 거는 것은 확실히 작동합니다.

관련 문제