3
我正在瀏覽sqlalchemy可搜索的文檔,他們爲同一個類提供了多個搜索向量。爲什麼這會有用?爲什麼我們需要每個班級有多個搜索向量? (sqlalchemy-searchable)
例如(來自文檔)
class Article(Base):
__tablename__ = 'article'
id = sa.Column(sa.Integer, primary_key=True)
name = sa.Column(sa.Unicode(255))
content = sa.Column(sa.UnicodeText)
description = sa.Column(sa.UnicodeText)
simple_search_vector = sa.Column(TSVectorType('name'))
fat_search_vector = sa.Column(
TSVectorType('name', 'content', 'desription')
)
我已經有fat_search_vector
和包括name
。爲什麼simple_search_vector
會有用?
確實,但即使是胖的人也有名。這不是浪費嗎?除非你正在執行2次搜索,否則簡單的搜索可能會得到更快的結果?但是我沒有看到任何這樣的用法......如果我誤解了你的觀點,你能解釋一下嗎? – adarsh
我對Python或鍊金術並不熟悉,但我想 - 根據我的答案 - 它實際上實現了兩種搜索方法:一種僅用於標題,另一種用於整行。可以說,具有(標題/ A,關鍵字/ B,描述/ C,內容/ D)的單個加權字段可能更有意義,但是我將圖像庫的作者創建於此之前,並且爲了向後兼容的目的而使用原始API或者是那個順序的東西。 –