programing

부울 모드에서 사용하는 동안 전체 텍스트 색인을 찾을 수 없습니다.

instargram 2023. 8. 20. 10:13
반응형

부울 모드에서 사용하는 동안 전체 텍스트 색인을 찾을 수 없습니다.

몇 가지 데이터를 필터링하려고 합니다.MATCH ... AGAINST WHERE그러나 다음 오류가 발생합니다.

열 목록과 일치하는 전체 텍스트 색인을 찾을 수 없습니다.

실행하는 쿼리입니다.

SELECT PAR.idPartij,
       PAR.Partijnaam,
       PRO.Productnaam,
       PER.Perceel,
       R.Ras,
       PAR.TagNR
FROM Partij AS PAR
LEFT OUTER JOIN Product AS PRO ON PAR.idProduct = PRO.idProduct
LEFT OUTER JOIN Ras AS R ON PAR.idRas = R.idRas
LEFT OUTER JOIN Klasse AS K ON PAR.idKlasse = K.idKlasse
LEFT OUTER JOIN Perceel AS PER ON PAR.idPerceel = PER.idPerceel
LEFT OUTER JOIN Maat AS M ON PAR.idMaat = M.idMaat
LEFT OUTER JOIN Teler AS T ON PAR.idTeler = T.idTeler
LEFT OUTER JOIN Handelshuis AS H ON PAR.idHandelshuis = H.idHandelshuis
LEFT OUTER JOIN Behandeling AS BH ON PAR.idBehandeling = BH.idBehandeling
WHERE PAR.Actief <> 0
  AND (
          MATCH(PAR.idPartij) AGAINST ('%1423%' IN BOOLEAN MODE)
       OR MATCH(PAR.Partijnaam) AGAINST ('%1423%' IN BOOLEAN MODE)
       OR MATCH(PRO.Productnaam) AGAINST ('%1423%' IN BOOLEAN MODE)
       OR MATCH(PER.Perceel) AGAINST ('%1423%' IN BOOLEAN MODE)
       OR MATCH(R.Ras) AGAINST ('%1423%' IN BOOLEAN MODE)
       OR MATCH(PAR.TagNR) AGAINST ('%1423%' IN BOOLEAN MODE)
  )
ORDER BY PAR.idPartij

보시다시피, 제가 사용하고 있는 것은IN BOOLEAN MODE내부에AGAINST이 문제를 극복하기 위해 Dan Grossman이 언급했지만 효과가 없었습니다.

제가 뭔가를 놓쳤나요 아니면 완전히 잘못하고 있나요?

작은 사이드 노트, 선택(그리고 MATCH 부분)은 PHP에서 동적으로 생성됩니다.

여러 가지 요인이 있을 수 있습니다.boolean mode작동하지 않는

  • 당신이 가지고 있는 mysql 버전처럼,

  • 저장 엔진 등

그러나 다음 작업을 수행할 때 전체 텍스트 색인을 사용하는 것이 좋습니다.match .. against이것이 그것을 위한 것이기 때문에.

이제 본론으로 들어가면 다른 인덱스가 엉망이 될 것입니다. 아니요, ID가 기본 키이고 항상 인덱스가 아닐 것입니다.다른 열에도 정기 인덱스를 사용할 수 있습니다.

언급URL : https://stackoverflow.com/questions/30997457/cant-find-fulltext-index-while-using-in-boolean-mode

반응형