當像執行查詢:PostgreSQL的全文索引索引可以使用1或2個字符?
select count(*) from myTextTable where tsv @@ plainto_tsquery('english', 'TERM');
我注意到,PostgreSQL不使用GIN索引(即我在TSV列定義)當TERM是長1或2個字符; 3個或更多字符正常工作。
我明白,索引1點或2個字符而言,該指數的規模將大大增加,但檢索包含一個快速的方式具體1個或2個字符的文本方面是我開發的應用是必不可少的。
有一些全文搜索配置參數索引1或2個字符的條款?
如果我執行'選擇plainto_tsvector( '英語', 'T-T')'然後它返回'[ 'TT':1]',因此它是在的tsvector可用。它似乎沒有被GIN索引索引(或被查詢優化器使用?)。我確實考慮過使用虛擬文本填充術語,但這意味着要實現我自己的空白分析等。我寧願不去那裏。 –
如果我'設置ENABLE_SEQSCAN = FALSE;'然後(GIN)索引掃描** **是執行與查詢運行時間變爲18秒鐘而不是20分鐘!查詢計劃在這裏。 –
你幾分鐘前的批量插入?自動真空和分析需要一些時間來實現巨大的更新。 – guettli