2011-03-03 6 views
2

나는 스타일의 쿼리 문자열을 설정하려면 :구글 스타일의 검색 쿼리 용어를 구문 분석하기위한 CPAN 모듈?

프로그래밍, SQL::Abstract 쿼리 속으로
my $query = q{recipe "with sauce" +eggs -pastrami}; 

DBIx::Class에 사용되는.

$where = { -and=>[ 
    'ingredients' =>[ { -like=>'%recipe%' }, { -like=>'%with sauce%' } ], 
    'ingredients' =>{ -like=>'%eggs%' }, 
    -not => { 'ingredients => { -like => '%pastrami%' } } 
]}; 

위의 표기는 단지 대략적인 것입니다. 그것은 귀에 의해 쓰여졌 고, 검증되지 않았으며 결코 구문 론적으로도 개념적으로도 올바르지 않습니다.

내가 찾는 대상은 주제에 대한 선행 기술, 기본 사항입니다. 아마도 CPAN 모듈이거나 CPAN 모듈로 변환 될 수있는 C 라이브러리 일 것입니다. 그런 일에 대한 표준이 있습니까?

답변

5

KinoSearch에있는 기본 쿼리 구문 분석기는 정확히 수행합니다 (파트를 조인 할 기본 쿼리 부울은 OR이지만 AND로 설정할 수 있음). 형태소 분석, 토큰 유형 및 와일드 카드에 접근 할 수있는 몇 가지 방법이 있지만 내장은 할 수 없습니다. 그것은 학습 곡선을 가지고 있으며 문서는 약간 얇지 만 패키지를 사용하는 것이 좋습니다. 작성자는 잘 수행되고 몹시 빠르다는 것 외에 피드백, 질문 및 버그 보고서에 매우 민감합니다.

+1

+1 KinoSearch의 팁 주셔서 감사합니다. – bvr

+1

감사합니다. KinoSearch는 정말 강력합니다. 나는 그것의 시험 중 하나 (http://cpansearch.perl.org/src/CREAMYG/KinoSearch1-1.01/t/601-queryparser.t)에서 훌륭한 사용법 런 다운을 발견했다. 이제 SQL :: Abstract 쿼리로 변환하는 방법을 알아야합니다. – ojosilva

관련 문제