2012-05-08 2 views
0

저는 루신의 다른 부분과 사용법을 알고 있지만, 한 가지 문제가 남아 있습니다. Lucene이 온라인 상점에서 돌아 다니고 있으며 좋은 직장입니다. 이제 사용자가 검색하고자하는 것을 입력 할 수있는 단일 검색 필드를 사용하여 검색 기능에서 검색 결과를 최적화하려고합니다. 이제는 구문 검색 및 퍼지 검색과 같은 결과를 얻기 위해 다양한 검색 방법을 결합하고 있습니다. 문제는 항상 거대한 결과를 얻는 것입니다. 가장 좋은 검색 결과를 가진 작은 결과 목록을 원합니다. 나는 퍼지를 떠날 때 이것을 얻을 수있다. 그런 다음 훌륭한 검색 결과를 얻었지만 사용자가 잘못된 형식을 입력하면 결과가 비어 있습니다.Lucene 검색 결과가 최적이 아닙니다.

큰 점수로 작은 결과를 얻고 히트가 나쁜 경우 퍼지 검색과 결합하는 솔루션이 있어야합니다.

무엇을 생각해야합니까? 어느쪽으로 가야합니까? 그 상황에 가장 적합한 솔루션은 무엇입니까?

+0

맞춤법 오류의 원인을 확인하기위한 쿼리 로그가 있습니까? – sisve

답변

0

하나의 접근법은 비 퍼지 쿼리를 사용하여 먼저 검색하는 것입니다. 해당 검색에서 적당한 수의 조회수가 반환되면 귀하는 완료됩니다.

첫 번째 검색에서 0 개의 조회수가 반환되면 각 개별 검색어가 한 번 퍼지 된 검색을 다시 검색해보십시오. 예를 들어 "ABC"가있는 경우 두 번째 검색은 "(A ~ AND B AND C) OR (A AND B AND C) OR (A AND B AND C ~) "라고합니다. 그것은 각 검색 용어를 여전히 퍼지하면서 퍼지 (fuzziness)를 최소화합니다.

이 방법을 시도하지는 않았지만 두 번째 검색이 각 검색어를 한 번 삭제하는 비슷한 방법을 시도해 보았습니다. 따라서 색인에없는 검색어를 처리 할 수 ​​있습니다. "(A AND B) 또는 (A AND C) 또는 (B AND C) "로 표시됩니다.