2009-03-06 3 views
0

나는 이미지에 관한 메타 데이터를 담고있는 데이터베이스 테이블을 가지고있다. 문제의 필드는 캡션 필드이다. 사용자가 텍스트 상자에 키워드를 입력하고 캡션에 따라 키워드와 일치하는 이미지를 반환하도록 할 수 있습니다.텍스트 필드에서 키워드 검색을 수행하는 가장 좋은 방법은 무엇입니까?

사용자가 입력 한 개별 키워드의 배열을 반환하는 코드가 이미 있지만 비교를 수행하는 가장 좋은 방법은 무엇입니까? 그래서 나는의 라인을 따라 생각하고 있습니다 ...

foreach (Image image in Images) 
{ 
    foreach (string keyword in keywords) 
    { 
     if (image.Caption.Contains(keyword)) 
     { 
      imageCollection.Add(image); 
      break; 
     } 
    } 
} 

그러나 이는 일치하는 전체 단어 만 지원하지 않으므로 너무 단순 해 보입니다. 특수 문자, 구두점 등은 말할 것도 없습니다.

정규식이 여기에 사용되어야한다고 생각하지만 정규 표현식 전문가는 아닙니다. 아니면 내가 캡션을 개별 단어로 분해하고 하나씩 단어 비교를 처리해야합니까? 정말 몇 가지 제안을 찾고 있습니다! 나는 불가지론 언어를 C#에서 쓰고 있어요하지만 할 수 있습니다

나는

편집을 생각 : 나는 또한 검색 키워드의 수에 따라 가중치 결과에 매우 관심이 있어요. 하지만 나는 여기에 Google 이미지를 다시 만들려고하지 않습니다!

답변

1

아마 가장 좋은 방법은 데이터베이스의 캡션 필드에 전체 텍스트 인덱스를 사용하는 것입니다. 데이터베이스가 당신을 위해 일하게하십시오!

+0

우수! 원하는대로 구현 및 작업 –

관련 문제