2012-05-07 2 views
1

나는 자연어 모드와 함께 MySQL을 사용하는 정보 검색 시스템을 연구 중이다. 내가 가지고있는 데이터는 여러 카테고리를 고려하여 주석 처리됩니다. 예 : 원숭이, 고양이, 개는 '동물'로, 오리, 참새는 '새'로 주석을 달았습니다. 문제는 이러한 태그의 발생을 기반으로 문서를 검색한다는 것입니다.전체 텍스트 검색을 위해 Sphinx를 사용하여 MySQL의 관련성 점수 향상하기

이제 MySQL은 특정 용어가 전체 데이터에서 50 %를 초과하면 용어가 고려되지 않는다는 제한이 있습니다. 내 요구 사항을 고려할 때 전체 데이터에서 특정 용어가 50 % 이상 나오더라도 일치하는 모든 용어에 점수를 매기를 원합니다.

검색 효율성을 위해 Sphinx와 MySQL의 조합에 관한 몇 가지 사항을 읽었지만 이것이 내 상황에 적용될 수 있는지 확신 할 수 없습니다.

것은이 문제

답변

1

을위한 솔루션을 제공하십시오 스핑크스가 매우 빠른 전체 텍스트 검색에 매우 좋다. mySQL에는 50 % 규칙이 없지만 mySQL의 전체 텍스트 검색 대신이 규칙을 사용해야합니다. 기본적으로 스핑크스를 설치하고 모든 mySQL 데이터를 스핑크스로 복사하는 가져 오기를 설정합니다. 그런 다음 SphinxSE를 만들거나 라이브러리를 통해 직접 Sphinx에 질의하여 결과를 얻을 수 있습니다. 그런 다음 mySQL을 쿼리하여 결과의 ​​세부 정보를 얻을 수 있습니다.

SphinxSE를 사용하는 이유는 mySQL을 통해 Sphinx를 쿼리하고 mySQL 테이블을 단일 쿼리의 결과에 결합 할 수 있기 때문입니다. 아주 좋습니다.

+0

내 Windows 컴퓨터에 스핑크스를 설치했지만, MySQL에서 스핑크스로 데이터를 복사하는 방법을 모르겠습니다. SphinxSE를 사용하고 싶습니다. MySql을 50 % 사용하지 않고 사용하고 싶었습니다. 또한 SphinxSE를 설정하는 방법을 알려 줄 수 있습니까? – Pink

+0

색인을 만드는 방법에 대한 설명서를 확인해야합니다. 그것은 모두 스핑크스 설정 파일에서 수행됩니다. Windows에서 SphinxSE를 설정하는 방법을 모르겠지만 일반적으로 mySQL 내에서 SphinxSE를 컴파일합니다. – Hawkee

+0

모든 도움에 감사드립니다! 나는 설치와 색인을 알아낼 것이다. 플러그인 스핑크스 SE를 설치 한 후 질문이 하나 더 있습니다. MySQL 데이터베이스를 쿼리 할 수는 있지만 MySQL은 적용되지 않을 것이며 50 %의 규칙으로 검색된 문서에 대한 관련 점수를 얻습니다. – Pink

관련 문제