کتابخانه‌ی استاندارد · پایگاه داده

تایپ‌سنس db/typesense

کارخواه Typesense: مجموعه، سند، جستجوی مقاوم در برابر غلط املایی، دسته‌بندی‌شده، گروهی، برداری و اجتماعی، مترادف، گزینش، کلیدهای API، تحلیل و خوشه.

واردسازی دیتابیس.تایپسنس

تایپ‌سنس یک موتور جستجوی متن‌باز با تحمل غلط املایی، فیلتر، دسته‌بندی، گروه‌بندی و جستجوی برداری و ترکیبی است. این بسته مستقیم و با net.httpx با API آن کار می‌کند و همه‌ی آن را پوشش می‌دهد: مجموعه‌ها و فیلدهایشان، سندها یکی یکی یا با درون‌ریزی و برون‌بری انبوه JSONL، همه‌ی پارامترهای جستجو، جستجوی چندگانه و اجتماعی، دسته‌های مترادف و دسته‌های گزینش، پیش‌تنظیم‌ها، کلمات توقف، واژه‌نامه‌های ریشه‌یابی، کلیدهای API و کلیدهای جستجوی محدود که بدون هیچ درخواستی امضا می‌شوند، قاعده‌ها و رویدادهای تحلیل، مدل‌های گفتگو (RAG)، مدل‌های جستجوی زبان طبیعی و کارهای خوشه. نمونه‌ها چون به یک سرور در حال اجرا نیاز دارند فقط بررسی می‌شوند.

هر فراخوانی یک خطا را به عنوان آخرین آرگومان می‌گیرد و اگر چیزی شکست بخورد آن را پر می‌کند؛ با موفق بررسی‌اش کنید، یا با پیدا نشد و تداخل دارد برای دو پاسخی که کد معمولا جدا رسیدگی می‌کند. یک کارخواه می‌تواند چند گره داشته باشد: گرهی که پاسخ ندهد یا با خطای 5xx پاسخ دهد به اندازه‌ی healthcheck_ms کنار گذاشته می‌شود و درخواست به گره بعدی می‌رود، درست مثل کارخواه‌های رسمی. سندها و یافته‌ها به شکل متن JSON خام برمی‌گردند؛ با دریافت سند به نوع و یافته ها به نوع آن‌ها را در ساختارهای خودتان بخوانید و با درون ریزی از نوع و ساخت سند از نوع ساختارهایتان را بفرستید. تایپ‌سنس ۳۰ مترادف‌ها و بازنویسی‌های هر مجموعه را با دسته‌های مترادف و دسته‌های گزینش جایگزین کرد؛ هر دو شکل اینجا هست، پس بسته با سرورهای ۲۹ و ۳۰ به یک اندازه کار می‌کند. برای مسیری که تابع جداگانه ندارد درخواست را به کار ببرید.

تازه با تایپ‌سنس آشنا می‌شوید؟ درس جستجو با تایپ‌سنس یک فهرست کوچک کتاب را گام به گام می‌سازد و خروجی هر نمونه را هم نشان می‌دهد.

گونه‌ها

کلاینت Client

ساختار کلاینت
اتصال به یک سرور یا خوشه‌ی تایپ‌سنس. با جدید یا خوشه جدید بسازیدش و با آزادسازی آزادش کنید.
نامانگلیسیگونهتوضیح
nodesnodesوکتور<رشته>نشانی گره‌ها، مثل http://localhost:8108؛ مسیری که بعد از میزبان بیاید به عنوان پیشوند نگه داشته می‌شود.
nearestnearestرشته = ""گرهی که پیش از بقیه امتحان می‌شود، مثلا گره همان منطقه؛ خالی یعنی هیچ.
api_keyapi_keyرشته = ""کلیدی که در سرآیند X-TYPESENSE-API-KEY فرستاده می‌شود.
timeout_mstimeout_msصحیح = 10000بیشترین زمان یک درخواست، به میلی‌ثانیه؛ ۰ یعنی بی‌نهایت صبر کن.
retriesretriesصحیح = 3چند بار دیگر بعد از شکست یک گره تلاش شود.
retry_interval_msretry_interval_msصحیح = 100مکث میان دو تلاش، به میلی‌ثانیه.
healthcheck_mshealthcheck_msصحیح = 60000مدتی که گره شکست‌خورده کنار گذاشته می‌شود، به میلی‌ثانیه.
headersheadersوکتور<رشته>سطرهای سرآیند اضافه که با افزودن سرصفحه افزوده شده‌اند.
statestateوکتور<صحیح۶۴>داخلی: جایگاه چرخشی و زمانی که هر گره دوباره می‌تواند امتحان شود.
db-typesense-Client.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی دیتابیس.تایپسنس

تابع ریشه:
    ناپایا nodes := وکتور {} برگردان وکتور<رشته>
    nodes.بیفزا("http://ts-1:8108")
    nodes.بیفزا("http://ts-2:8108")
    nodes.بیفزا("http://ts-3:8108")
    ناپایا ک := تایپسنس.خوشه جدید(nodes، "admin-key")
    دیرکن تایپسنس.آزادسازی(ک)
    تایپسنس.تنظیم نزدیک‌ترین گره(ک، "http://ts-local:8108")
    تایپسنس.افزودن گره(ک، "http://ts-4:8108")
    تایپسنس.افزودن سرصفحه(ک، "X-Request-Source"، "salam")
    ک.timeout_ms = 5000
    ک.retries = 2
    ک.retry_interval_ms = 200
    ک.healthcheck_ms = 30000

    ناپایا خ := تایپسنس.خطا {}
    اگر وارونه تایپسنس.سلامت(ک، خ):
        سرچاپ "آماده نیست: " + تایپسنس.متن خطا(خ)
        برگشت 1
    پایان
    سرچاپ تایپسنس.سالم است(ک)، تایپسنس.گره سالم است(ک، 0)، تایپسنس.گره سالم است(ک، -1)
    سرچاپ "نسخه‌ی سرور"، تایپسنس.نسخه سرور(ک، خ)، تایپسنس.اشکال زدایی(ک، خ)
    st := تایپسنس.وضعیت(ک، خ)
    سرچاپ st.state، st.committed_index، st.queued_writes
    سرچاپ تایپسنس.آمار(ک، خ)
    سرچاپ تایپسنس.سنجه ها(ک، خ)
    سرچاپ تایپسنس.ساخت تصویر لحظه ای(ک، "/data/snapshots/today"، خ)
    سرچاپ تایپسنس.رای گیری(ک، خ)، تایپسنس.پاک کردن حافظه نهان(ک، خ)، تایپسنس.فشرده سازی پایگاه(ک، خ)، تایپسنس.بازنشانی همتاها(ک، خ)
    سرچاپ تایپسنس.تغییرات طرح(ک، خ).طول()
    سرچاپ تایپسنس.تنظیم گزارش درخواست کند(ک، 1000، خ)، تایپسنس.به‌روزرسانی پیکربندی(ک، `{"healthy-read-lag": 1000}`، خ)

    body := تایپسنس.درخواست(ک، "GET"، "/collections?limit=1"، ""، خ)
    اگر وارونه تایپسنس.موفق(خ):
        سرچاپ خ.status، خ.kind، خ.message
        سرچاپ خ.kind == تایپسنس.نوع اچ تی تی پی، خ.kind == تایپسنس.نوع شبکه، خ.kind == تایپسنس.نوع نامعتبر، خ.kind == تایپسنس.نوع رمزگشایی
        سرچاپ تایپسنس.پیدا نشد(خ)، تایپسنس.تداخل دارد(خ)
        برگشت 1
    پایان
    سرچاپ body
    سرچاپ تایپسنس.درخواست با نوع(ک، "POST"، "/stemming/dictionaries/import?id=plurals"، "text/plain"، `{"word":"کتب","root":"کتاب"}`، خ)
    سرچاپ تایپسنس.نسخه کلاینت، ک.nodes.طول()، ک.nearest، ک.api_key.طول()، ک.headers.طول()، ک.state.طول()
    single := تایپسنس.جدید("localhost:8108"، "admin-key")
    سرچاپ single.nodes.بگیر(0)
پایان

خطا Error

ساختار خطا
آنچه در آخرین فراخوانی خراب شد. اگر فراخوانی موفق بوده باشد خالی است.
نامانگلیسیگونهتوضیح
statusstatusصحیح = 0وضعیت HTTP، یا ۰ وقتی پاسخی نیامد.
kindkindرشته = ""یکی از ثابت‌های نوع خطا مثل نوع شبکه، یا خالی وقتی فراخوانی موفق بود.
messagemessageرشته = ""پیام سرور، یا شرحی از شکست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

وضعیت خوشه ClusterStatus

ساختار وضعیت خوشه
وضعیت raft گرهی که پاسخ داد.
نامانگلیسیگونهتوضیح
statestateرشته = ""LEADER، FOLLOWER یا یک وضعیت دیگر raft.
committed_indexcommitted_indexصحیح۶۴ = 0آخرین اندیس ثبت‌شده‌ی raft.
queued_writesqueued_writesصحیح۶۴ = 0نوشتن‌هایی که در صف اعمال مانده‌اند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

قاعده تحلیل AnalyticsRule

ساختار قاعده تحلیل
یک قاعده‌ی تحلیل، به شکل تایپ‌سنس ۳۰.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام آن.
kindkindرشته = ""یکی از ثابت‌های قاعده مثل قاعده شمارنده.
collectioncollectionرشته = ""مجموعه‌ای که رویدادهایش گردآوری می‌شود.
event_typeevent_typeرشته = ""یکی از ثابت‌های رویداد مثل رویداد کلیک.
rule_tagrule_tagرشته = ""برچسبی برای فهرست کردن قاعده‌ها.
paramsparamsرشته = ""پارامترهای قاعده، به شکل JSON، مثل {"destination_collection":"pq","limit":100}.
rawrawرشته = ""کل قاعده، به شکل JSON؛ تنها جایی که قاعده‌ی تایپ‌سنس ۲۹ مبدا و مقصدش را نگه می‌دارد.
db-typesense-CreateAnalyticsRule.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی دیتابیس.تایپسنس

تابع ریشه:
    ک := تایپسنس.جدید("http://localhost:8108"، "admin-key")
    ناپایا خ := تایپسنس.خطا {}

    popular := تایپسنس.قاعده تحلیل {
        name = "popular-searches"، kind = تایپسنس.قاعده پرسمان های پرطرفدار، collection = "books"، event_type = تایپسنس.رویداد جستجو،
        params = `{"destination_collection": "popular_queries", "limit": 1000}`
    }
    سرچاپ تایپسنس.جیسون قاعده تحلیل(popular)
    made := تایپسنس.ساخت قاعده تحلیل(ک، popular، خ)
    سرچاپ made.name، made.kind، made.collection، made.event_type، made.params

    clicks := تایپسنس.قاعده تحلیل {
        name = "book-clicks"، kind = تایپسنس.قاعده شمارنده، collection = "books"، event_type = تایپسنس.رویداد کلیک،
        rule_tag = "homepage"، params = `{"destination_collection": "books", "counter_field": "popularity", "weight": 1}`
    }
    سرچاپ تایپسنس.درج قاعده تحلیل(ک، clicks، خ).rule_tag
    سرچاپ تایپسنس.ساخت قاعده تحلیل از جیسون(ک، `{"name": "no-results", "type": "nohits_queries", "collection": "books", "event_type": "search", "params": {"destination_collection": "nohits", "limit": 100}}`، خ)
    سرچاپ تایپسنس.درج قاعده تحلیل از جیسون(ک، "old-style"، `{"type": "popular_queries", "params": {"source": {"collections": ["books"]}, "destination": {"collection": "pq"}}}`، خ)
    سرچاپ تایپسنس.دریافت قاعده تحلیل(ک، "book-clicks"، خ).raw
    هر r در تایپسنس.فهرست قاعده های تحلیل(ک، "homepage"، خ):
        سرچاپ r.name، r.kind
    پایان

    سرچاپ تایپسنس.ارسال رویداد(ک، "book-clicks"، تایپسنس.رویداد کلیک، `{"doc_id": "42", "user_id": "u-7"}`، خ)
    سرچاپ تایپسنس.ارسال رویداد از جیسون(ک، `{"name": "book-clicks", "event_type": "click", "data": {"doc_id": "43", "user_id": "u-7"}}`، خ)
    هر e در تایپسنس.دریافت رویدادها(ک، "u-7"، "book-clicks"، 20، خ):
        سرچاپ e
    پایان
    سرچاپ تایپسنس.تخلیه تحلیل(ک، خ)، تایپسنس.وضعیت تحلیل(ک، خ)
    سرچاپ تایپسنس.حذف قاعده تحلیل(ک، "no-results"، خ)
    سرچاپ تایپسنس.قاعده گزارش، تایپسنس.رویداد تبدیل، تایپسنس.رویداد بازدید، تایپسنس.رویداد سفارشی

    m := تایپسنس.مدل گفتگو {
        id = "books-assistant"، model_name = "openai/gpt-4o-mini"، api_key = "sk-..."، history_collection = "conversations"،
        system_prompt = "تو از کاتالوگ ما کتاب پیشنهاد می‌کنی."، max_bytes = 16384، ttl = 86400، account_id = ""، vllm_url = ""، extra = ""
    }
    سرچاپ تایپسنس.جیسون مدل گفتگو(m)
    سرچاپ تایپسنس.ساخت مدل گفتگو(ک، m، خ)
    سرچاپ تایپسنس.دریافت مدل گفتگو(ک، "books-assistant"، خ)
    سرچاپ تایپسنس.فهرست مدل های گفتگو(ک، خ).طول()
    سرچاپ تایپسنس.به‌روزرسانی مدل گفتگو(ک، "books-assistant"، تایپسنس.مدل گفتگو { system_prompt = "در یک جمله پاسخ بده." }، خ)
    سرچاپ تایپسنس.حذف مدل گفتگو(ک، "books-assistant"، خ)

    سرچاپ تایپسنس.ساخت مدل جستجوی زبانی(ک، `{"id": "gpt-4o-nl", "model_name": "openai/gpt-4o-mini", "api_key": "sk-...", "max_bytes": 16000}`، خ)
    سرچاپ تایپسنس.دریافت مدل جستجوی زبانی(ک، "gpt-4o-nl"، خ)
    سرچاپ تایپسنس.فهرست مدل های جستجوی زبانی(ک، خ).طول()
    سرچاپ تایپسنس.به‌روزرسانی مدل جستجوی زبانی(ک، "gpt-4o-nl"، `{"temperature": 0.0}`، خ)
    سرچاپ تایپسنس.حذف مدل جستجوی زبانی(ک، "gpt-4o-nl"، خ)
پایان

مدل گفتگو ConversationModel

ساختار مدل گفتگو
یک مدل زبانی بزرگ برای جستجوی گفتگویی (RAG). فقط مقدارهایی که تعیین می‌کنید فرستاده می‌شوند.
نامانگلیسیگونهتوضیح
ididرشته = ""شناسه‌ی آن.
model_namemodel_nameرشته = ""مدل، مثل openai/gpt-4o.
api_keyapi_keyرشته = ""کلید ارائه‌دهنده‌ی مدل.
history_collectionhistory_collectionرشته = ""مجموعه‌ای که تاریخچه‌ی گفتگو را نگه می‌دارد.
system_promptsystem_promptرشته = ""دستورهایی که به مدل داده می‌شود.
max_bytesmax_bytesصحیح = 0مقدار زمینه‌ای که مدل دریافت می‌کند.
ttlttlصحیح = 0مدت نگه‌داری یک گفتگو، به ثانیه.
account_idaccount_idرشته = ""شناسه‌ی حساب، برای مدل‌های Cloudflare.
vllm_urlvllm_urlرشته = ""نشانی سرور، برای مدل‌های vLLM.
extraextraرشته = ""عضوهای بیشتر به شکل یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

پارامترهای جستجو SearchParams

ساختار پارامترهای جستجو
پارامترهای یک جستجو. مقدارهای صفر و رشته‌های خالی فرستاده نمی‌شوند؛ هر چیز دیگری از راه تنظیم پارامتر می‌رود.
نامانگلیسیگونهتوضیح
qqرشته = ""متنی که جستجو می‌شود؛ * با همه‌ی سندها جور می‌شود.
query_byquery_byرشته = ""فیلدهایی که جستجو می‌شوند، جداشده با ویرگول.
query_by_weightsquery_by_weightsرشته = ""وزن هر فیلد در query_by، مثل 2,1.
text_match_typetext_match_typeرشته = ""نحوه‌ی ترکیب امتیاز فیلدها: max_score، max_weight یا sum_score.
prefixprefixرشته = ""آیا آخرین واژه به عنوان پیشوند جور شود، برای هر فیلد یک مقدار مثل true,false.
infixinfixرشته = ""جستجوی میانوندی برای هر فیلد: off، always یا fallback.
filter_byfilter_byرشته = ""یک فیلتر، مثل year:>2000 && genre:=[scifi].
sort_bysort_byرشته = ""ترتیب، مثل year:desc,_text_match:desc.
facet_byfacet_byرشته = ""فیلدهایی که مقدارهایشان شمرده می‌شود.
facet_queryfacet_queryرشته = ""مقدارهای دسته‌بندی را محدود کن، مثل genre:sci.
max_facet_valuesmax_facet_valuesصحیح = 0تعداد مقدارهایی که هر دسته‌بندی برمی‌گرداند.
group_bygroup_byرشته = ""نتیجه‌ها را بر اساس این فیلدها گروه‌بندی کن.
group_limitgroup_limitصحیح = 0تعداد یافته‌هایی که هر گروه برمی‌گرداند.
include_fieldsinclude_fieldsرشته = ""فقط این فیلدها را برگردان.
exclude_fieldsexclude_fieldsرشته = ""این فیلدها را از نتیجه‌ها کنار بگذار.
highlight_fieldshighlight_fieldsرشته = ""فقط این فیلدها را برجسته کن.
highlight_full_fieldshighlight_full_fieldsرشته = ""کل مقدار این فیلدها را برجسته کن، نه فقط یک تکه.
highlight_start_taghighlight_start_tagرشته = ""برچسب پیش از هر تطابق؛ پیش‌فرض <mark> است.
highlight_end_taghighlight_end_tagرشته = ""برچسب پس از هر تطابق.
snippet_thresholdsnippet_thresholdصحیح = 0فیلدهای کوتاه‌تر از این تعداد واژه کامل برجسته می‌شوند.
num_typosnum_typosرشته = ""تعداد غلط‌های املایی مجاز در هر واژه، از ۰ تا ۲، برای هر فیلد یک مقدار.
typo_tokens_thresholdtypo_tokens_thresholdصحیح = 0فقط وقتی کمتر از این تعداد نتیجه پیدا شد دنبال تطابق با غلط املایی بگرد.
drop_tokens_thresholddrop_tokens_thresholdصحیح = 0فقط وقتی کمتر از این تعداد نتیجه پیدا شد واژه‌هایی از پرسمان را کنار بگذار.
pagepageصحیح = 0صفحه، از ۱.
per_pageper_pageصحیح = 0یافته‌های هر صفحه، تا ۲۵۰.
offsetoffsetصحیح = 0از این تعداد یافته بگذر؛ جایگزینی برای page.
limitlimitصحیح = 0این تعداد یافته را برگردان؛ همراه offset به کار می‌رود.
pinned_hitspinned_hitsرشته = ""سندهایی را در جایگاه‌هایی سنجاق کن، مثل 12:1,3:2.
hidden_hitshidden_hitsرشته = ""شناسه‌ی سندهایی که پنهان می‌شوند.
override_tagsoverride_tagsرشته = ""فقط قاعده‌های گزینشی را که این برچسب‌ها را دارند اعمال کن.
presetpresetرشته = ""پارامترهای ذخیره‌شده در این پیش‌تنظیم را به کار ببر.
vector_queryvector_queryرشته = ""یک جستجوی نزدیک‌ترین همسایه، مثل embedding:([0.1, 0.2], k: 10).
stopwordsstopwordsرشته = ""دسته‌ی کلمات توقفی که اعمال می‌شود.
exhaustive_searchexhaustive_searchمنطقی = نادرستهمه‌ی شکل‌های پرسمان را در نظر بگیر؛ کندتر ولی کامل.
search_cutoff_mssearch_cutoff_msصحیح = 0پس از این چند میلی‌ثانیه جستجو را متوقف کن و هر چه پیدا شده را برگردان.
use_cacheuse_cacheمنطقی = نادرستنتیجه‌ها را روی سرور در حافظه‌ی نهان نگه دار.
cache_ttlcache_ttlصحیح = 0مدت نگه‌داری آن‌ها در حافظه‌ی نهان، به ثانیه.
conversationconversationمنطقی = نادرستبه پرسمان با یک مدل گفتگو پاسخ بده (RAG).
conversation_idconversation_idرشته = ""همین گفتگو را ادامه بده.
conversation_model_idconversation_model_idرشته = ""مدل گفتگویی که به کار می‌رود.
nl_querynl_queryمنطقی = نادرستپرسمان به زبان طبیعی را با یک مدل جستجوی زبانی به فیلتر و ترتیب تبدیل کن.
nl_model_idnl_model_idرشته = ""مدل جستجوی زبانی که به کار می‌رود.
keyskeysوکتور<رشته>نام پارامترهایی که با تنظیم پارامتر افزوده شده‌اند.
valuesvaluesوکتور<رشته>مقدارهای آن‌ها.
db-typesense-Search.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی رشته
واردسازی دیتابیس.تایپسنس

ساختار کتاب:
    همگانی id: رشته = ""
    همگانی title: رشته = ""
    همگانی year: صحیح = 0
پایان

تابع ریشه:
    ک := تایپسنس.جدید("http://localhost:8108"، "search-key")
    ناپایا خ := تایپسنس.خطا {}

    ناپایا p := تایپسنس.جستجوی جدید("تل‌ماسه"، "title,description")
    p.query_by_weights = "3,1"
    p.filter_by = "year:>1950 && genres:=[scifi]"
    p.sort_by = "_text_match:desc,year:desc"
    p.facet_by = "genres,year"
    p.max_facet_values = 10
    p.per_page = 20
    p.page = 1
    p.num_typos = "2,1"
    p.highlight_start_tag = "<b>"
    p.highlight_end_tag = "</b>"
    تایپسنس.تنظیم پارامتر(p، "prioritize_exact_match"، "false")
    سرچاپ تایپسنس.متن پرسمان جستجو(p)
    سرچاپ تایپسنس.جیسون پارامترهای جستجو(p)

    r := تایپسنس.جستجو(ک، "books"، p، خ)
    اگر وارونه تایپسنس.موفق(خ):
        سرچاپ تایپسنس.متن خطا(خ)
        برگشت 1
    پایان
    سرچاپ r.found، r.out_of، r.page، r.search_time_ms، r.search_cutoff
    هر h در r.hits:
        سرچاپ h.document، h.text_match، h.curated، تایپسنس.برجسته(h، "title")
        سرچاپ h.highlight، h.highlights، h.text_match_info، h.vector_distance، h.geo_distance_meters، h.hybrid_search_info، h.raw.طول()
    پایان
    هر f در r.facets:
        چاپ f.field_name، f.sampled، f.stats، ":"
        هر fc در f.counts:
            چاپ " " + fc.value + "=" + fc.count + " " + fc.highlighted
        پایان
        سرچاپ ""
    پایان
    ناپایا books := وکتور {} برگردان وکتور<کتاب>
    اگر تایپسنس.یافته ها به نوع(r، books، خ):
        سرچاپ books.طول()
    پایان
    سرچاپ r.request_params، r.raw.طول()

    ناپایا g := تایپسنس.جستجوی جدید("*"، "")
    g.group_by = "genres"
    g.group_limit = 3
    g.include_fields = "id,title"
    rg := تایپسنس.جستجو(ک، "books"، g، خ)
    سرچاپ rg.found، rg.found_docs
    هر grp در rg.groups:
        سرچاپ رشته.بپیوند(grp.key، ",")، grp.found، grp.hits.طول()
    پایان

    ناپایا v := تایپسنس.جستجوی جدید("*"، "")
    v.vector_query = "embedding:([0.12, 0.45, 0.87], k: 10)"
    v.exclude_fields = "embedding"
    سرچاپ تایپسنس.جستجوی خام(ک، "books"، v، خ)

    ناپایا rag := تایپسنس.جستجوی جدید("کدام کتاب‌ها درباره‌ی بیابان هستند؟"، "title_vector")
    rag.conversation = درست
    rag.conversation_model_id = "books-assistant"
    rag.conversation_id = ""
    rag.prefix = "false"
    rag.exhaustive_search = درست
    rag.search_cutoff_ms = 200
    rag.use_cache = درست
    rag.cache_ttl = 60
    سرچاپ تایپسنس.جستجو(ک، "books"، rag، خ).conversation

    ناپایا nl := تایپسنس.جستجوی جدید("کتاب‌های علمی تخیلی بعد از ۱۹۶۰ به ترتیب سال"، "title")
    nl.nl_query = درست
    nl.nl_model_id = "gpt-4o-nl"
    سرچاپ تایپسنس.جستجو(ک، "books"، nl، خ).parsed_nl_query

    ناپایا reqs := وکتور {} برگردان وکتور<تایپسنس.درخواست جستجو>
    reqs.بیفزا(تایپسنس.درخواست جستجو { collection = "books"، params = تایپسنس.جستجوی جدید("تل‌ماسه"، "") })
    reqs.بیفزا(تایپسنس.درخواست جستجو { collection = "authors"، params = تایپسنس.جستجوی جدید("هربرت"، "name")، api_key = "scoped-key" })
    common := تایپسنس.جستجوی جدید(""، "title")
    هر m در تایپسنس.جستجوی چندگانه(ک، reqs، common، خ):
        سرچاپ m.found، m.code، m.error
    پایان
    سرچاپ تایپسنس.جستجوی چندگانه خام(ک، reqs، common، خ).طول()
    u := تایپسنس.جستجوی اجتماع(ک، reqs، common، خ)
    هر h در u.hits:
        سرچاپ h.collection، h.search_index، h.document
    پایان
    ناپایا rr := تایپسنس.تجزیه نتیجه جستجو(`{"found": 0, "hits": []}`)
    سرچاپ rr.found، rr.code، rr.error، تایپسنس.بیشینه پرسمان دریافت
    تایپسنس.آزادسازی نتیجه(rr)
پایان

درخواست جستجو SearchRequest

ساختار درخواست جستجو
یک جستجو از یک جستجوی چندگانه.
نامانگلیسیگونهتوضیح
collectioncollectionرشته = ""مجموعه‌ای که جستجو می‌شود.
paramsparamsپارامترهای جستجوپارامترهای آن.
api_keyapi_keyرشته = ""یک کلید API دیگر فقط برای همین جستجو، مثل یک کلید محدود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

یافته Hit

ساختار یافته
یک نتیجه‌ی جستجو.
نامانگلیسیگونهتوضیح
documentdocumentرشته = ""سند، به شکل JSON.
text_matchtext_matchصحیح۶۴ = 0امتیاز ارتباط متنی.
highlighthighlightرشته = ""برجسته‌ها به تفکیک فیلد، به شکل JSON؛ یکی را با برجسته بخوانید.
highlightshighlightsرشته = ""برجسته‌ها به شکل فهرست قدیمی‌تر، به شکل JSON.
text_match_infotext_match_infoرشته = ""چگونگی ساخته شدن امتیاز، به شکل JSON.
geo_distance_metersgeo_distance_metersرشته = ""فاصله از نقطه‌ی مرتب‌سازی جغرافیایی، به شکل JSON.
vector_distancevector_distanceاعشار۶۴ = 0فاصله از بردار پرسمان.
hybrid_search_infohybrid_search_infoرشته = ""چگونگی رتبه‌بندی آن در جستجوی ترکیبی، به شکل JSON.
curatedcuratedمنطقی = نادرستیک قاعده‌ی گزینش آن را در این جایگاه گذاشته است.
collectioncollectionرشته = ""مجموعه‌ای که از آن آمده، در جستجوی اجتماعی.
search_indexsearch_indexصحیح = 0کدام جستجوی جستجوی اجتماعی آن را پیدا کرد، از ۰.
rawrawرشته = ""کل یافته، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

شمار دسته FacetCount

ساختار شمار دسته
یک مقدار از یک دسته‌بندی.
نامانگلیسیگونهتوضیح
valuevalueرشته = ""مقدار.
countcountصحیح۶۴ = 0تعداد یافته‌هایی که آن را دارند.
highlightedhighlightedرشته = ""مقدار با پرسمان دسته‌بندیِ برجسته‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

دسته Facet

ساختار دسته
شمار مقدارهای یک فیلد.
نامانگلیسیگونهتوضیح
field_namefield_nameرشته = ""فیلد.
countscountsوکتور<شمار دسته>مقدارها، پرتکرارترین اول.
sampledsampledمنطقی = نادرستشمارها از روی یک نمونه تخمین زده شده‌اند.
statsstatsرشته = ""کمینه، بیشینه، مجموع و میانگین یک فیلد عددی، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

گروه Group

ساختار گروه
یافته‌هایی که مقدار group_by یکسانی دارند.
نامانگلیسیگونهتوضیح
keykeyوکتور<رشته>مقدارهایی که گروه را می‌سازند.
foundfoundصحیح۶۴ = 0تعداد یافته‌های گروه.
hitshitsوکتور<یافته>یافته‌های آن، تا group_limit.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

نتیجه جستجو SearchResult

ساختار نتیجه جستجو
نتیجه‌ی یک جستجو.
نامانگلیسیگونهتوضیح
foundfoundصحیح۶۴ = 0تعداد سندهای جورشده، یا در گروه‌بندی تعداد گروه‌ها.
found_docsfound_docsصحیح۶۴ = 0تعداد سندهای جورشده، در گروه‌بندی.
out_ofout_ofصحیح۶۴ = 0تعداد سندهایی که جستجو شدند.
pagepageصحیح = 0صفحه.
search_time_mssearch_time_msصحیح۶۴ = 0مدت زمان جستجو.
search_cutoffsearch_cutoffمنطقی = نادرستجستجو در search_cutoff_ms متوقف شد.
hitshitsوکتور<یافته>یافته‌ها.
groupsgroupsوکتور<گروه>گروه‌ها، در گروه‌بندی.
facetsfacetsوکتور<دسته>شمار دسته‌بندی‌ها.
request_paramsrequest_paramsرشته = ""پارامترهایی که سرور به کار برد، به شکل JSON.
conversationconversationرشته = ""پاسخ گفتگو، به شکل JSON.
parsed_nl_queryparsed_nl_queryرشته = ""آنچه پرسمان زبان طبیعی به آن تبدیل شد، به شکل JSON.
codecodeصحیح = 0در جستجوی چندگانه، وضعیت HTTP این جستجو وقتی شکست خورد.
errorerrorرشته = ""در جستجوی چندگانه، دلیل شکست این جستجو.
rawrawرشته = ""کل پاسخ، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

مشخصات کلید KeySpec

ساختار مشخصات کلید
یک کلید API تازه.
نامانگلیسیگونهتوضیح
descriptiondescriptionرشته = ""کاربرد کلید.
actionsactionsوکتور<رشته>کارهایی که اجازه دارد، مثل documents:search یا *.
collectionscollectionsوکتور<رشته>مجموعه‌هایی که می‌تواند به کار ببرد؛ * برای همه، و الگوهایی مثل org_.* هم کار می‌کنند.
expires_atexpires_atصحیح۶۴ = 0زمان یونیکسی که از کار می‌افتد؛ ۰ یعنی هرگز.
valuevalueرشته = ""متن کلید؛ اگر خالی باشد سرور خودش یکی می‌سازد.
autodeleteautodeleteمنطقی = نادرستکلید پس از انقضا حذف شود.
db-typesense-CreateKey.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی دیتابیس.تایپسنس

تابع ریشه:
    ک := تایپسنس.جدید("http://localhost:8108"، "admin-key")
    ناپایا خ := تایپسنس.خطا {}

    ناپایا books := وکتور {} برگردان وکتور<رشته>
    books.بیفزا("books")
    search := تایپسنس.کلید فقط جستجو(ک، "جستجوی وب‌سایت"، books، خ)
    سرچاپ search.id، search.value، search.actions.طول()، search.collections.بگیر(0)

    ناپایا actions := وکتور {} برگردان وکتور<رشته>
    actions.بیفزا("documents:*")
    actions.بیفزا("collections:get")
    ناپایا orgs := وکتور {} برگردان وکتور<رشته>
    orgs.بیفزا("org_.*")
    spec := تایپسنس.مشخصات کلید { description = "نویسنده‌ی مستاجرها"، actions = actions، collections = orgs، expires_at = 1924992000، autodelete = درست }
    سرچاپ تایپسنس.جیسون مشخصات کلید(spec)
    k := تایپسنس.ساخت کلید(ک، spec، خ)
    سرچاپ k.value، k.expires_at، k.autodelete

    ناپایا all := وکتور {} برگردان وکتور<رشته>
    all.بیفزا(تایپسنس.کنش کلید همه)
    admin := تایپسنس.ساخت کلید(ک، تایپسنس.مشخصات کلید { description = "مدیر"، actions = all، collections = all، value = "my-chosen-admin-key" }، خ)
    سرچاپ admin.id

    g := تایپسنس.دریافت کلید(ک، k.id، خ)
    سرچاپ g.value_prefix، g.description
    هر key در تایپسنس.فهرست کلیدها(ک، خ):
        سرچاپ key.id، key.value_prefix، key.description، key.actions.طول()، key.collections.طول()، key.expires_at
    پایان
    سرچاپ تایپسنس.حذف کلید(ک، k.id، خ)

    scope := تایپسنس.پارامترهای جستجو { filter_by = "company_id:=124"، exclude_fields = "salary" }
    scoped := تایپسنس.کلید جستجوی محدود(search.value، scope، 1924992000)
    سرچاپ scoped
    سرچاپ تایپسنس.ساخت کلید جستجوی محدود(search.value، `{"filter_by":"user_id:=42"}`)
    ناپایا browser := تایپسنس.جدید("https://search.example.com"، scoped)
    دیرکن تایپسنس.آزادسازی(browser)
    سرچاپ تایپسنس.جستجو(browser، "books"، تایپسنس.جستجوی جدید("تل‌ماسه"، "title")، خ).found
    سرچاپ تایپسنس.کنش کلید جستجو
پایان

کلید Key

ساختار کلید
یک کلید API.
نامانگلیسیگونهتوضیح
ididصحیح۶۴ = 0شناسه‌ی آن.
valuevalueرشته = ""متن کامل کلید؛ فقط هنگام ساخت کلید برگردانده می‌شود.
value_prefixvalue_prefixرشته = ""چند نویسه‌ی اول کلید، که هنگام خواندن دوباره‌ی آن برگردانده می‌شود.
descriptiondescriptionرشته = ""کاربرد آن.
actionsactionsوکتور<رشته>کارهایی که اجازه دارد.
collectionscollectionsوکتور<رشته>مجموعه‌هایی که می‌تواند به کار ببرد.
expires_atexpires_atصحیح۶۴ = 0زمان از کار افتادنش، به صورت زمان یونیکس.
autodeleteautodeleteمنطقی = نادرستآیا پس از انقضا حذف می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

فیلد Field

ساختار فیلد
یک فیلد از طرح مجموعه. فقط مقدارهایی که تغییر می‌دهید فرستاده می‌شوند.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام فیلد، یا یک عبارت باقاعده مثل .*_facet.
kindkindرشته = ""نوع آن، یکی از ثابت‌های نوع فیلد مثل نوع متن.
facetfacetمنطقی = نادرستمقدارهایش را برای دسته‌بندی بشمار و فیلتر دقیق را ممکن کن.
optionaloptionalمنطقی = نادرستسندها می‌توانند آن را نداشته باشند.
indexindexمنطقی = درستآن را برای جستجو و فیلتر نمایه کن؛ نادرست فقط ذخیره‌اش می‌کند.
storestoreمنطقی = درستآن را روی دیسک نگه دار؛ نادرست بدون ذخیره کردن نمایه‌اش می‌کند.
sortsortصحیح = 0۱ آن را قابل مرتب‌سازی می‌کند، -1 غیر قابل مرتب‌سازی، و ۰ پیش‌فرض را نگه می‌دارد (عددها مرتب می‌شوند، متن نه).
infixinfixمنطقی = نادرستجورشدن در میانه‌ی واژه‌ها را ممکن کن.
localelocaleرشته = ""زبان متن، مثل fa یا en.
stemstemمنطقی = نادرستواژه‌ها را با ریشه‌شان جور کن.
stem_dictionarystem_dictionaryرشته = ""یک واژه‌نامه‌ی ریشه‌یابی سفارشی که به کار می‌رود.
range_indexrange_indexمنطقی = نادرستآن را برای فیلترهای بازه‌ای سریع نمایه کن.
referencereferenceرشته = ""پیوند به مجموعه‌ای دیگر، به شکل collection.field.
async_referenceasync_referenceمنطقی = نادرستارجاع به سندی را که هنوز وجود ندارد بپذیر.
num_dimnum_dimصحیح = 0اندازه‌ی بردار، برای یک فیلد برداری float[].
vec_distvec_distرشته = ""فاصله‌ی برداری، cosine یا ip.
embedembedرشته = ""چگونگی ساخت خودکار بردار، به شکل JSON؛ فیلد جاسازی را ببینید.
token_separatorstoken_separatorsوکتور<رشته>نویسه‌های اضافه‌ای که در این فیلد واژه‌ها را از هم جدا می‌کنند.
symbols_to_indexsymbols_to_indexوکتور<رشته>نویسه‌های ویژه‌ای که در این فیلد نگه داشته می‌شوند.
truncate_lentruncate_lenصحیح = 0چند نویسه از یک رشته‌ی بلند نمایه شود.
dropdropمنطقی = نادرستفیلد را در به‌روزرسانی مجموعه حذف می‌کند؛ حذف فیلدها از آن استفاده می‌کند.
extraextraرشته = ""عضوهای بیشتر به شکل یک شیء JSON، مثل {"hnsw_params":{"M":16}}.
db-typesense-CreateCollection.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی دیتابیس.تایپسنس

تابع ریشه:
    ک := تایپسنس.جدید("http://localhost:8108"، "admin-key")
    ناپایا خ := تایپسنس.خطا {}

    ناپایا s := تایپسنس.طرح { name = "books_v2"، default_sorting_field = "year"، enable_nested_fields = درست }
    s.fields.بیفزا(تایپسنس.فیلد جدید("title"، تایپسنس.نوع متن))
    s.fields.بیفزا(تایپسنس.فیلد { name = "title_fa"، kind = تایپسنس.نوع متن، locale = "fa"، stem = درست، optional = درست })
    s.fields.بیفزا(تایپسنس.فیلد دسته بندی("year"، تایپسنس.نوع عدد۳۲))
    s.fields.بیفزا(تایپسنس.فیلد دسته بندی("genres"، تایپسنس.نوع آرایه متن))
    s.fields.بیفزا(تایپسنس.فیلد { name = "price"، kind = تایپسنس.نوع اعشاری، range_index = درست })
    s.fields.بیفزا(تایپسنس.فیلد { name = "isbn"، kind = تایپسنس.نوع متن، index = نادرست، optional = درست })
    s.fields.بیفزا(تایپسنس.فیلد { name = "author_id"، kind = تایپسنس.نوع متن، reference = "authors.id" })
    s.fields.بیفزا(تایپسنس.فیلد { name = "location"، kind = تایپسنس.نوع نقطه جغرافیایی، optional = درست })
    s.fields.بیفزا(تایپسنس.فیلد بردار("embedding"، 384))
    ناپایا from := وکتور {} برگردان وکتور<رشته>
    from.بیفزا("title")
    s.fields.بیفزا(تایپسنس.فیلد جاسازی("title_vector"، from، "ts/all-MiniLM-L12-v2"))
    s.fields.بیفزا(تایپسنس.فیلد { name = "meta.*"، kind = تایپسنس.نوع خودکار، optional = درست })
    s.symbols_to_index.بیفزا("+")
    s.token_separators.بیفزا("-")
    s.metadata = `{"owner": "کاتالوگ"}`
    سرچاپ تایپسنس.جیسون طرح(s)

    col := تایپسنس.ساخت مجموعه(ک، s، خ)
    اگر تایپسنس.تداخل دارد(خ):
        سرچاپ "books_v2 از قبل وجود دارد"
    پایان
    سرچاپ col.name، col.num_documents، col.created_at، col.fields.طول()
    هر f در col.fields:
        سرچاپ f.name، f.kind، f.facet، f.optional، f.sort، f.index، f.store
    پایان

    اگر تایپسنس.مجموعه وجود دارد(ک، "books_v2"، خ):
        سرچاپ تایپسنس.دریافت مجموعه(ک، "books_v2"، خ).default_sorting_field
    پایان
    هر x در تایپسنس.فهرست مجموعه ها(ک، خ):
        سرچاپ x.name، x.num_documents
    پایان
    ناپایا skip := وکتور {} برگردان وکتور<رشته>
    skip.بیفزا("fields")
    سرچاپ تایپسنس.صفحه مجموعه ها(ک، 0، 20، skip، خ).طول()

    ناپایا add := وکتور {} برگردان وکتور<تایپسنس.فیلد>
    add.بیفزا(تایپسنس.فیلد دسته بندی("publisher"، تایپسنس.نوع متن))
    سرچاپ تایپسنس.افزودن فیلدها(ک، "books_v2"، add، خ)
    ناپایا drop := وکتور {} برگردان وکتور<رشته>
    drop.بیفزا("isbn")
    سرچاپ تایپسنس.حذف فیلدها(ک، "books_v2"، drop، خ)
    سرچاپ تایپسنس.تنظیم فراداده مجموعه(ک، "books_v2"، `{"owner": "تیم جستجو"}`، خ)
    سرچاپ تایپسنس.به‌روزرسانی مجموعه(ک، "books_v2"، `{"synonym_sets": ["book-words"]}`، خ)

    a := تایپسنس.درج نام مستعار(ک، "books"، "books_v2"، خ)
    سرچاپ a.name، a.collection_name
    سرچاپ تایپسنس.دریافت نام مستعار(ک، "books"، خ).collection_name
    هر al در تایپسنس.فهرست نام های مستعار(ک، خ):
        سرچاپ al.name، "->"، al.collection_name
    پایان
    سرچاپ تایپسنس.رونوشت مجموعه(ک، "books_v2"، "books_v3"، خ).name
    سرچاپ تایپسنس.خالی کردن مجموعه(ک، "books_v3"، خ)
    سرچاپ تایپسنس.حذف مجموعه(ک، "books_v3"، خ).name
    سرچاپ تایپسنس.حذف نام مستعار(ک، "old_books"، خ).name
    سرچاپ تایپسنس.ساخت مجموعه از جیسون(ک، `{"name": "authors", "fields": [{"name": "name", "type": "string"}]}`، خ).name
    سرچاپ تایپسنس.جیسون فیلد(تایپسنس.فیلد جدید("pages"، تایپسنس.نوع عدد۳۲))
    سرچاپ تایپسنس.نوع متن ستاره، تایپسنس.نوع آرایه عدد۳۲، تایپسنس.نوع عدد۶۴، تایپسنس.نوع آرایه عدد۶۴، تایپسنس.نوع آرایه اعشاری
    سرچاپ تایپسنس.نوع بولی، تایپسنس.نوع آرایه بولی، تایپسنس.نوع آرایه نقطه جغرافیایی، تایپسنس.نوع چندضلعی جغرافیایی
    سرچاپ تایپسنس.نوع شیء، تایپسنس.نوع آرایه شیء، تایپسنس.نوع تصویر
پایان

طرح Schema

ساختار طرح
طرح یک مجموعه برای ساخت مجموعه.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام مجموعه.
fieldsfieldsوکتور<فیلد>فیلدها.
default_sorting_fielddefault_sorting_fieldرشته = ""یک فیلد عددی که وقتی جستجو ترتیبی نمی‌دهد بر اساس آن مرتب می‌شود.
enable_nested_fieldsenable_nested_fieldsمنطقی = نادرستفیلدهای شیء را ممکن کن.
token_separatorstoken_separatorsوکتور<رشته>نویسه‌های اضافه‌ای که واژه‌ها را از هم جدا می‌کنند.
symbols_to_indexsymbols_to_indexوکتور<رشته>نویسه‌های ویژه‌ای که نگه داشته می‌شوند، مثل + برای C++.
synonym_setssynonym_setsوکتور<رشته>دسته‌های مترادفی که این مجموعه به کار می‌برد (تایپ‌سنس ۳۰).
curation_setscuration_setsوکتور<رشته>دسته‌های گزینشی که این مجموعه به کار می‌برد (تایپ‌سنس ۳۰).
metadatametadataرشته = ""هر شیء JSON که همراه مجموعه نگه داشته شود.
voice_query_modelvoice_query_modelرشته = ""مدل گفتار به نوشتار برای جستجوی صوتی، به شکل JSON.
extraextraرشته = ""عضوهای بیشتر به شکل یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

مجموعه Collection

ساختار مجموعه
یک مجموعه، همان‌طور که سرور شرحش می‌دهد.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام آن.
num_documentsnum_documentsصحیح۶۴ = 0تعداد سندهایی که دارد.
created_atcreated_atصحیح۶۴ = 0زمان ساختش، به صورت زمان یونیکس.
default_sorting_fielddefault_sorting_fieldرشته = ""فیلد پیش‌فرض مرتب‌سازی.
enable_nested_fieldsenable_nested_fieldsمنطقی = نادرستآیا فیلدهای شیء مجازند.
fieldsfieldsوکتور<فیلد>فیلدهای آن، با همه‌ی پیش‌فرض‌های پرشده.
token_separatorstoken_separatorsوکتور<رشته>جداکننده‌های اضافه‌ی واژه.
symbols_to_indexsymbols_to_indexوکتور<رشته>نویسه‌های ویژه‌ای که نگه می‌دارد.
synonym_setssynonym_setsوکتور<رشته>دسته‌های مترادفی که به کار می‌برد.
curation_setscuration_setsوکتور<رشته>دسته‌های گزینشی که به کار می‌برد.
metadatametadataرشته = ""فراداده‌ی آن، به شکل JSON.
rawrawرشته = ""کل پاسخ، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نام مستعار Alias

ساختار نام مستعار
یک نام مستعار: نام دومی که به یک مجموعه اشاره می‌کند.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام مستعار.
collection_namecollection_nameرشته = ""مجموعه‌ای که به آن اشاره می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

مترادف Synonym

ساختار مترادف
یک مترادف: واژه‌هایی که باید یکدیگر را پیدا کنند.
نامانگلیسیگونهتوضیح
ididرشته = ""شناسه‌ی آن.
synonymssynonymsوکتور<رشته>واژه‌ها. بدون ریشه همه‌شان یک معنی دارند.
rootrootرشته = ""اگر تعیین شود، جستجوی ریشه واژه‌های دیگر را هم پیدا می‌کند، ولی برعکس نه.
localelocaleرشته = ""زبان واژه‌ها، مثل fa.
symbols_to_indexsymbols_to_indexوکتور<رشته>نویسه‌های ویژه‌ای در واژه‌ها که باید نگه داشته شوند.
db-typesense-UpsertSynonymSet.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی دیتابیس.تایپسنس

تابع ریشه:
    ک := تایپسنس.جدید("http://localhost:8108"، "admin-key")
    ناپایا خ := تایپسنس.خطا {}

    ناپایا words := وکتور {} برگردان وکتور<رشته>
    words.بیفزا("کتاب")
    words.بیفزا("رمان")
    words.بیفزا("book")
    ناپایا items := وکتور {} برگردان وکتور<تایپسنس.مترادف>
    items.بیفزا(تایپسنس.مترادف { id = "books"، synonyms = words })
    set := تایپسنس.درج دسته مترادف(ک، "book-words"، items، خ)
    سرچاپ set.name، set.items.طول()
    ناپایا one := وکتور {} برگردان وکتور<رشته>
    one.بیفزا("جلدشومیز")
    s := تایپسنس.مترادف { id = "paper"، root = "کتاب"، synonyms = one، locale = "fa"، symbols_to_index = وکتور {} برگردان وکتور<رشته> }
    سرچاپ تایپسنس.جیسون مترادف(s)
    سرچاپ تایپسنس.درج مترادف دسته(ک، "book-words"، s، خ).root
    سرچاپ تایپسنس.دریافت مترادف دسته(ک، "book-words"، "paper"، خ).synonyms.طول()
    سرچاپ تایپسنس.فهرست مترادف های دسته(ک، "book-words"، خ).طول()، تایپسنس.دریافت دسته مترادف(ک، "book-words"، خ).items.طول()، تایپسنس.فهرست دسته های مترادف(ک، خ).طول()
    سرچاپ تایپسنس.حذف مترادف دسته(ک، "book-words"، "paper"، خ)

    سرچاپ تایپسنس.درج مترادف(ک، "books"، s، خ).id
    سرچاپ تایپسنس.دریافت مترادف(ک، "books"، "paper"، خ).root، تایپسنس.فهرست مترادف ها(ک، "books"، خ).طول()
    سرچاپ تایپسنس.حذف مترادف(ک، "books"، "paper"، خ)

    ناپایا pins := وکتور {} برگردان وکتور<تایپسنس.سنجاق>
    pins.بیفزا(تایپسنس.سنجاق { id = "42"، position = 1 })
    ناپایا hide := وکتور {} برگردان وکتور<رشته>
    hide.بیفزا("13")
    ناپایا tags := وکتور {} برگردان وکتور<رشته>
    tags.بیفزا("summer-sale")
    rule := تایپسنس.قاعده گزینش {
        id = "promote-dune"، query = "تل‌ماسه"، match_type = تایپسنس.تطابق دقیق، includes = pins، excludes = hide،
        filter_curated_hits = درست، effective_from_ts = 1924992000، metadata = `{"campaign": "تابستان"}`
    }
    سرچاپ تایپسنس.جیسون گزینش(rule)
    ناپایا rules := وکتور {} برگردان وکتور<تایپسنس.قاعده گزینش>
    rules.بیفزا(rule)
    rules.بیفزا(تایپسنس.قاعده گزینش {
        id = "sale"، tags = tags، rule_filter_by = "on_sale:=true"، filter_by = "stock:>0"، sort_by = "price:asc"،
        match_type = تایپسنس.تطابق شامل، replace_query = ""، remove_matched_tokens = درست، stop_processing = نادرست،
        effective_to_ts = 1956528000، extra = ""
    })
    cs := تایپسنس.درج دسته گزینش(ک، "promotions"، rules، خ)
    سرچاپ cs.name، cs.items.طول()
    سرچاپ تایپسنس.درج قاعده دسته گزینش(ک، "promotions"، rule، خ).id
    سرچاپ تایپسنس.دریافت قاعده دسته گزینش(ک، "promotions"، "sale"، خ).sort_by، تایپسنس.فهرست قاعده های دسته گزینش(ک، "promotions"، خ).طول()
    سرچاپ تایپسنس.دریافت دسته گزینش(ک، "promotions"، خ).items.طول()، تایپسنس.فهرست دسته های گزینش(ک، خ).طول()
    سرچاپ تایپسنس.حذف قاعده دسته گزینش(ک، "promotions"، "sale"، خ)
    سرچاپ تایپسنس.به‌روزرسانی مجموعه(ک، "books"، `{"synonym_sets": ["book-words"], "curation_sets": ["promotions"]}`، خ)

    سرچاپ تایپسنس.درج بازنویسی(ک، "books"، rule، خ).id
    سرچاپ تایپسنس.دریافت بازنویسی(ک، "books"، "promote-dune"، خ).query، تایپسنس.فهرست بازنویسی ها(ک، "books"، خ).طول()
    سرچاپ تایپسنس.حذف بازنویسی(ک، "books"، "promote-dune"، خ)

    ناپایا listing := تایپسنس.جستجوی جدید(""، "title,description")
    listing.per_page = 24
    listing.sort_by = "popularity:desc"
    pr := تایپسنس.درج پیش تنظیم جستجو(ک، "listing"، listing، خ)
    سرچاپ pr.name، pr.value
    سرچاپ تایپسنس.درج پیش تنظیم(ک، "listing-raw"، `{"query_by": "title"}`، خ).value
    سرچاپ تایپسنس.دریافت پیش تنظیم(ک، "listing"، خ).value
    هر x در تایپسنس.فهرست پیش تنظیم ها(ک، خ):
        سرچاپ x.name
    پایان
    سرچاپ تایپسنس.حذف پیش تنظیم(ک، "listing-raw"، خ)

    ناپایا sw := وکتور {} برگردان وکتور<رشته>
    sw.بیفزا("و")
    sw.بیفزا("از")
    st := تایپسنس.درج کلمات توقف(ک، "persian"، sw، "fa"، خ)
    سرچاپ st.id، st.locale، st.stopwords.طول()
    سرچاپ تایپسنس.دریافت کلمات توقف(ک، "persian"، خ).stopwords.طول()، تایپسنس.فهرست کلمات توقف(ک، خ).طول()
    سرچاپ تایپسنس.حذف کلمات توقف(ک، "persian"، خ)

    ناپایا stem := وکتور {} برگردان وکتور<تایپسنس.ریشه کلمه>
    stem.بیفزا(تایپسنس.ریشه کلمه { word = "کتب"، root = "کتاب" })
    stem.بیفزا(تایپسنس.ریشه کلمه { word = "علوم"، root = "علم" })
    سرچاپ تایپسنس.درون ریزی واژه نامه ریشه یابی(ک، "irregular"، stem، خ)
    سرچاپ تایپسنس.درون ریزی ریشه یابی جیسون خطی(ک، "irregular"، `{"word": "کلمات", "root": "کلمه"}`، خ)
    d := تایپسنس.دریافت واژه نامه ریشه یابی(ک، "irregular"، خ)
    سرچاپ d.id، d.words.طول()
    سرچاپ تایپسنس.فهرست واژه نامه های ریشه یابی(ک، خ).طول()
    سرچاپ تایپسنس.حذف واژه نامه ریشه یابی(ک، "irregular"، خ)
    سرچاپ تایپسنس.حذف دسته گزینش(ک، "promotions"، خ)، تایپسنس.حذف دسته مترادف(ک، "book-words"، خ)
پایان

دسته مترادف SynonymSet

ساختار دسته مترادف
دسته‌ای نام‌دار از مترادف‌ها که هر مجموعه‌ای که نامش را بیاورد از آن استفاده می‌کند (تایپ‌سنس ۳۰).
نامانگلیسیگونهتوضیح
namenameرشته = ""نام آن.
itemsitemsوکتور<مترادف>مترادف‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

سنجاق Pin

ساختار سنجاق
سندی که در جایگاهی از نتیجه‌ها سنجاق شده است.
نامانگلیسیگونهتوضیح
ididرشته = ""شناسه‌ی سند.
positionpositionصحیح = 0جایگاه، از ۱.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

قاعده گزینش CurationRule

ساختار قاعده گزینش
یک قاعده‌ی گزینش (پیش از تایپ‌سنس ۳۰ بازنویسی نام داشت): وقتی پرسمان جور شود، نتیجه‌ها را سنجاق، پنهان، فیلتر یا مرتب می‌کند.
نامانگلیسیگونهتوضیح
ididرشته = ""شناسه‌ی آن.
queryqueryرشته = ""متن پرسمانی که با آن جور می‌شود.
match_typematch_typeرشته = ""تطابق دقیق یا تطابق شامل.
rule_filter_byrule_filter_byرشته = ""وقتی جستجو این فیلتر را به کار ببرد قاعده را اعمال کن.
tagstagsوکتور<رشته>وقتی جستجو یکی از این برچسب‌ها را در override_tags بفرستد قاعده را اعمال کن.
includesincludesوکتور<سنجاق>سندهایی که سنجاق می‌شوند.
excludesexcludesوکتور<رشته>شناسه‌ی سندهایی که پنهان می‌شوند.
filter_byfilter_byرشته = ""فیلتری که به جستجو افزوده می‌شود.
sort_bysort_byرشته = ""ترتیبی که به جای ترتیب جستجو به کار می‌رود.
replace_queryreplace_queryرشته = ""پرسمانی که به جای پرسمان اصلی جستجو می‌شود.
remove_matched_tokensremove_matched_tokensمنطقی = نادرستواژه‌های جورشده را از پرسمان بردار.
filter_curated_hitsfilter_curated_hitsمنطقی = نادرستفیلتر جستجو را روی سندهای سنجاق‌شده هم اعمال کن.
stop_processingstop_processingمنطقی = درستوقتی این قاعده جور شد همین‌جا بایست؛ نادرست اجازه می‌دهد قاعده‌های بعدی هم اعمال شوند.
effective_from_tseffective_from_tsصحیح۶۴ = 0زمان یونیکسی که قاعده پیش از آن کاری نمی‌کند؛ ۰ یعنی همیشه.
effective_to_tseffective_to_tsصحیح۶۴ = 0زمان یونیکسی که قاعده پس از آن کاری نمی‌کند؛ ۰ یعنی هرگز.
metadatametadataرشته = ""هر شیء JSON که وقتی قاعده اعمال شد همراه نتیجه‌ها برگردد.
extraextraرشته = ""عضوهای بیشتر به شکل یک شیء JSON که همان‌طور که هستند در قاعده ادغام می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دسته گزینش CurationSet

ساختار دسته گزینش
دسته‌ای نام‌دار از قاعده‌های گزینش که هر مجموعه‌ای که نامش را بیاورد از آن استفاده می‌کند (تایپ‌سنس ۳۰).
نامانگلیسیگونهتوضیح
namenameرشته = ""نام آن.
itemsitemsوکتور<قاعده گزینش>قاعده‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

پیش تنظیم Preset

ساختار پیش تنظیم
پارامترهای جستجوی ذخیره‌شده که با پارامترهای جستجو.preset به کار می‌روند.
نامانگلیسیگونهتوضیح
namenameرشته = ""نام آن.
valuevalueرشته = ""پارامترها، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

کلمات توقف Stopwords

ساختار کلمات توقف
دسته‌ای از واژه‌ها که در پرسمان‌ها نادیده گرفته می‌شوند.
نامانگلیسیگونهتوضیح
ididرشته = ""شناسه‌ی آن که در پارامترهای جستجو.stopwords به کار می‌رود.
stopwordsstopwordsوکتور<رشته>واژه‌ها.
localelocaleرشته = ""زبانشان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

ریشه کلمه StemWord

ساختار ریشه کلمه
یک واژه و ریشه‌ای که به آن می‌رسد.
نامانگلیسیگونهتوضیح
wordwordرشته = ""واژه.
rootrootرشته = ""ریشه‌ی آن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

واژه نامه ریشه یابی StemmingDictionary

ساختار واژه نامه ریشه یابی
یک واژه‌نامه‌ی ریشه‌یابی سفارشی که با فیلد.stem_dictionary به کار می‌رود.
نامانگلیسیگونهتوضیح
ididرشته = ""شناسه‌ی آن.
wordswordsوکتور<ریشه کلمه>واژه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

گزینه های نوشتن WriteOptions

ساختار گزینه های نوشتن
گزینه‌های نوشتن سندها. فیلدهای خالی فرستاده نمی‌شوند.
نامانگلیسیگونهتوضیح
actionactionرشته = ""یکی از ثابت‌های کنش مثل کنش درج؛ خالی یعنی ساخت.
dirty_valuesdirty_valuesرشته = ""یکی از ثابت‌های مقدار ناپاک مثل ناپاک رد.
batch_sizebatch_sizeصحیح = 0تعداد سندهایی که سرور هنگام درون‌ریزی یک‌جا نمایه می‌کند.
return_idreturn_idمنطقی = نادرستشناسه‌ی هر سند را در نتیجه‌ی درون‌ریزی بیاور.
return_docreturn_docمنطقی = نادرستخود هر سند را در نتیجه‌ی درون‌ریزی بیاور.
remote_embedding_batch_sizeremote_embedding_batch_sizeصحیح = 0تعداد سندهایی که یک‌جا به مدل جاسازی راه دور فرستاده می‌شوند.
db-typesense-ImportDocuments.salam
/*
 * Salam Programming Language (2024-2026)
 *
 *   +-------------------+
 *   |     S A L A M     |
 *   +-------------------+
 *
 * Designed by Seyyed Ali Mohammadiyeh and the Salam Team
 * Born from a decade of language design experience (since 2018)
 *
 * Repository: https://github.com/SalamLang/Salam
 *
 */


واردسازی دیتابیس.تایپسنس

ساختار کتاب:
    همگانی id: رشته = ""
    همگانی title: رشته = ""
    همگانی year: صحیح = 0
پایان

تابع ریشه:
    ک := تایپسنس.جدید("http://localhost:8108"، "admin-key")
    ناپایا خ := تایپسنس.خطا {}

    سرچاپ تایپسنس.ساخت سند(ک، "books"، `{"id": "1", "title": "تل‌ماسه", "year": 1965}`، خ)
    سرچاپ تایپسنس.درج سند(ک، "books"، `{"id": "1", "title": "تل‌ماسه", "year": 1965}`، خ)
    سرچاپ تایپسنس.جایگذاری سند(ک، "books"، `{"id": "2", "title": "اِما"}`، خ)
    سرچاپ تایپسنس.به‌روزرسانی سند(ک، "books"، "2"، `{"year": 1815}`، خ)
    سرچاپ تایپسنس.به‌روزرسانی سند با گزینه(ک، "books"، "2"، `{"year": "1815"}`، تایپسنس.ناپاک تبدیل با رد، خ)
    سرچاپ تایپسنس.نمایه سازی سند(ک، "books"، `{"id": "3", "title": "اولیس", "year": "1922"}`، تایپسنس.گزینه های نوشتن { action = تایپسنس.کنش درج، dirty_values = تایپسنس.ناپاک تبدیل با کنار }، خ)
    سرچاپ تایپسنس.دریافت سند(ک، "books"، "1"، خ)
    سرچاپ تایپسنس.سند وجود دارد(ک، "books"، "42"، خ)

    ناپایا b := کتاب {}
    اگر تایپسنس.دریافت سند به نوع(ک، "books"، "1"، b، خ):
        سرچاپ b.title، b.year
    پایان
    سرچاپ تایپسنس.ساخت سند از نوع(ک، "books"، کتاب { id = "4"، title = "دلبند"، year = 1987 }، خ)
    سرچاپ تایپسنس.درج سند از نوع(ک، "books"، کتاب { id = "4"، title = "دلبند"، year = 1987 }، خ)

    ناپایا books := وکتور {} برگردان وکتور<کتاب>
    books.بیفزا(کتاب { id = "5"، title = "هملت"، year = 1603 })
    books.بیفزا(کتاب { id = "6"، title = "میدل‌مارچ"، year = 1871 })
    r := تایپسنس.درون ریزی از نوع(ک، "books"، books، تایپسنس.گزینه های نوشتن { action = تایپسنس.کنش درج، batch_size = 100، return_id = درست }، خ)
    سرچاپ r.success، r.failed، r.ids.طول()، r.documents.طول()، r.lines.طول()
    هر e در r.errors:
        سرچاپ e.line، e.id، e.code، e.error، e.document
    پایان

    ناپایا docs := وکتور {} برگردان وکتور<رشته>
    docs.بیفزا(`{"id": "7", "title": "ترغیب", "year": 1817}`)
    docs.بیفزا(`{"id": "8", "title": "والدن", "year": "1854"}`)
    r2 := تایپسنس.درون ریزی سندها(ک، "books"، docs، تایپسنس.گزینه های نوشتن { action = تایپسنس.کنش ساخت، dirty_values = تایپسنس.ناپاک رد، return_doc = درست }، خ)
    سرچاپ r2.success، r2.failed
    r3 := تایپسنس.درون ریزی جیسون خطی(ک، "books"، "{\"id\": \"9\", \"title\": \"اِما\"}\n"، تایپسنس.گزینه های نوشتن { action = تایپسنس.کنش به‌روزرسانی، remote_embedding_batch_size = 50 }، خ)
    سرچاپ r3.success، تایپسنس.کنش جایگذاری، تایپسنس.ناپاک کنار گذاشتن

    سرچاپ تایپسنس.به‌روزرسانی با پالایه(ک، "books"، "year:<1900"، `{"classic": true}`، خ)
    سرچاپ تایپسنس.حذف با پالایه(ک، "books"، "year:<1700"، 500، خ)
    سرچاپ تایپسنس.حذف سند(ک، "books"، "9"، خ)

    lines := تایپسنس.برون بری سندها(ک، "books"، تایپسنس.گزینه های برون بری { filter_by = "year:>1800"، include_fields = "id,title,year"، exclude_fields = "" }، خ)
    ناپایا back := وکتور {} برگردان وکتور<کتاب>
    اگر تایپسنس.رمزگشایی سندها(lines، back، خ):
        سرچاپ back.طول()
    پایان
    ناپایا one := کتاب {}
    سرچاپ تایپسنس.رمزگشایی سند(`{"id": "1", "title": "تل‌ماسه", "year": 1965}`، one، خ)، one.title
    سرچاپ تایپسنس.برون بری جیسون خطی(ک، "books"، تایپسنس.گزینه های برون بری {}، خ).طول()
پایان

خطای درون ریزی ImportError

ساختار خطای درون ریزی
یک سطر از درون‌ریزی که شکست خورد.
نامانگلیسیگونهتوضیح
linelineصحیح = 0جایگاه آن در درون‌ریزی، از ۰.
ididرشته = ""شناسه‌ی سند، وقتی return_id روشن بود.
codecodeصحیح = 0وضعیت HTTP این سطر، مثل ۴۰۰ یا ۴۰۹.
errorerrorرشته = ""دلیل شکست.
documentdocumentرشته = ""متن سند، وقتی return_doc روشن بود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

نتیجه درون ریزی ImportResult

ساختار نتیجه درون ریزی
نتیجه‌ی یک درون‌ریزی. تایپ‌سنس حتی وقتی بعضی سطرها شکست بخورند ۲۰۰ پاسخ می‌دهد، پس failed را بررسی کنید.
نامانگلیسیگونهتوضیح
successsuccessصحیح = 0تعداد سندهایی که نوشته شدند.
failedfailedصحیح = 0تعداد سندهایی که نوشته نشدند.
idsidsوکتور<رشته>شناسه‌ی سندهای نوشته‌شده، با return_id.
documentsdocumentsوکتور<رشته>سندهای نوشته‌شده، با return_doc.
errorserrorsوکتور<خطای درون ریزی>سطرهایی که شکست خوردند.
lineslinesوکتور<رشته>سطر خام نتیجه‌ی هر سند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

گزینه های برون بری ExportOptions

ساختار گزینه های برون بری
کدام سندها و کدام فیلدها برون‌بری شوند.
نامانگلیسیگونهتوضیح
filter_byfilter_byرشته = ""یک فیلتر، مثل year:>2000؛ خالی یعنی همه.
include_fieldsinclude_fieldsرشته = ""فقط این فیلدها را برون‌بری کن، جداشده با ویرگول.
exclude_fieldsexclude_fieldsرشته = ""این فیلدها را کنار بگذار، جداشده با ویرگول.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

پایاها و متغیرها

نسخه کلاینت VERSION

پایا نسخه کلاینت: رشته = "1.0.0"
نسخه‌ی این کارخواه که در سرآیند User-Agent فرستاده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

نوع اچ تی تی پی KIND_HTTP

پایا نوع اچ تی تی پی: رشته = "http"
مقدار خطا.kind وقتی سرور با وضعیت خطا پاسخ داده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

نوع شبکه KIND_NETWORK

پایا نوع شبکه: رشته = "network"
مقدار خطا.kind وقتی به هیچ گرهی نمی‌شد رسید یا زمان درخواست تمام شد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

نوع نامعتبر KIND_INVALID

پایا نوع نامعتبر: رشته = "invalid"
مقدار خطا.kind وقتی خود کارخواه قابل استفاده نیست، مثلا هیچ گرهی ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

نوع رمزگشایی KIND_DECODE

پایا نوع رمزگشایی: رشته = "decode"
مقدار خطا.kind وقتی سندی را نمی‌شد در ساختار شما خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

پایا قاعده پرسمان های پرطرفدار: رشته = "popular_queries"
قاعده‌ای که پرجستجوترین پرسمان‌ها را در یک مجموعه گرد می‌آورد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

قاعده پرسمان های بی نتیجه RULE_NOHITS_QUERIES

پایا قاعده پرسمان های بی نتیجه: رشته = "nohits_queries"
قاعده‌ای که پرسمان‌های بی‌نتیجه را گرد می‌آورد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

قاعده شمارنده RULE_COUNTER

پایا قاعده شمارنده: رشته = "counter"
قاعده‌ای که رویدادها را در یک فیلد می‌شمارد، مثلا کلیک‌ها را در امتیاز محبوبیت.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

قاعده گزارش RULE_LOG

پایا قاعده گزارش: رشته = "log"
قاعده‌ای که همه‌ی رویدادها را نگه می‌دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

پایا رویداد جستجو: رشته = "search"
رویداد جستجو.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

رویداد کلیک EVENT_CLICK

پایا رویداد کلیک: رشته = "click"
کلیک روی یک نتیجه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

رویداد تبدیل EVENT_CONVERSION

پایا رویداد تبدیل: رشته = "conversion"
خرید یا هدفی دیگر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

رویداد بازدید EVENT_VISIT

پایا رویداد بازدید: رشته = "visit"
بازدید از صفحه‌ی یک سند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

رویداد سفارشی EVENT_CUSTOM

پایا رویداد سفارشی: رشته = "custom"
رویدادی از خودتان.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

بیشینه پرسمان دریافت MAX_GET_QUERY

پایا بیشینه پرسمان دریافت: صحیح۳۲ = 4000
رشته‌ی پرسمان جستجویی که از این تعداد بایت بلندتر باشد از راه /multi_search فرستاده می‌شود، چون سرورها طول نشانی را محدود می‌کنند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

کنش کلید همه KEY_ACTION_ALL

پایا کنش کلید همه: رشته = "*"
همه‌ی کنش‌ها، برای کلید مدیر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

پایا کنش کلید جستجو: رشته = "documents:search"
فقط جستجو، برای کلیدی که مرورگر می‌تواند نگه دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

نوع متن TYPE_STRING

پایا نوع متن: رشته = "string"
یک فیلد متنی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه متن TYPE_STRING_ARRAY

پایا نوع آرایه متن: رشته = "string[]"
فهرستی از متن‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع متن ستاره TYPE_STRING_ANY

پایا نوع متن ستاره: رشته = "string*"
متن یا فهرستی از متن‌ها، هر کدام که سند داشته باشد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع عدد۳۲ TYPE_INT32

پایا نوع عدد۳۲: رشته = "int32"
یک عدد صحیح ۳۲ بیتی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه عدد۳۲ TYPE_INT32_ARRAY

پایا نوع آرایه عدد۳۲: رشته = "int32[]"
فهرستی از عددهای صحیح ۳۲ بیتی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع عدد۶۴ TYPE_INT64

پایا نوع عدد۶۴: رشته = "int64"
یک عدد صحیح ۶۴ بیتی، مثل زمان یونیکس به میلی‌ثانیه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه عدد۶۴ TYPE_INT64_ARRAY

پایا نوع آرایه عدد۶۴: رشته = "int64[]"
فهرستی از عددهای صحیح ۶۴ بیتی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع اعشاری TYPE_FLOAT

پایا نوع اعشاری: رشته = "اعشار"
یک عدد اعشاری.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه اعشاری TYPE_FLOAT_ARRAY

پایا نوع آرایه اعشاری: رشته = "اعشار[]"
فهرستی از عددهای اعشاری؛ با num_dim یک بردار است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع بولی TYPE_BOOL

پایا نوع بولی: رشته = "منطقی"
درست یا نادرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه بولی TYPE_BOOL_ARRAY

پایا نوع آرایه بولی: رشته = "منطقی[]"
فهرستی از مقدارهای درست یا نادرست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع نقطه جغرافیایی TYPE_GEOPOINT

پایا نوع نقطه جغرافیایی: رشته = "geopoint"
یک عرض و طول جغرافیایی که به شکل [lat, lng] نوشته می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه نقطه جغرافیایی TYPE_GEOPOINT_ARRAY

پایا نوع آرایه نقطه جغرافیایی: رشته = "geopoint[]"
فهرستی از نقطه‌های جغرافیایی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع چندضلعی جغرافیایی TYPE_GEOPOLYGON

پایا نوع چندضلعی جغرافیایی: رشته = "geopolygon"
یک ناحیه روی نقشه، برای جستجوی ناحیه‌هایی که یک نقطه را در بر دارند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع شیء TYPE_OBJECT

پایا نوع شیء: رشته = "object"
یک شیء تودرتو؛ به enable_nested_fields نیاز دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع آرایه شیء TYPE_OBJECT_ARRAY

پایا نوع آرایه شیء: رشته = "object[]"
فهرستی از شیءهای تودرتو.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع تصویر TYPE_IMAGE

پایا نوع تصویر: رشته = "image"
یک تصویر، برای جستجوی تصویری با مدل CLIP.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

نوع خودکار TYPE_AUTO

پایا نوع خودکار: رشته = "auto"
بگذار تایپ‌سنس نوع را از نخستین سند حدس بزند؛ اغلب با الگوی نامی مثل .* به کار می‌رود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

تطابق دقیق MATCH_EXACT

پایا تطابق دقیق: رشته = "exact"
قاعده‌ی گزینشی که وقتی پرسمان دقیقا همان متن باشد اعمال می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

تطابق شامل MATCH_CONTAINS

پایا تطابق شامل: رشته = "contains"
قاعده‌ی گزینشی که وقتی پرسمان آن متن را در خود داشته باشد اعمال می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

کنش ساخت ACTION_CREATE

پایا کنش ساخت: رشته = "create"
یک سند تازه نمایه کن؛ اگر شناسه وجود داشت شکست بخور.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

کنش درج ACTION_UPSERT

پایا کنش درج: رشته = "upsert"
سند را بساز، یا سند هم‌شناسه را جایگزین کن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

کنش به‌روزرسانی ACTION_UPDATE

پایا کنش به‌روزرسانی: رشته = "update"
فیلدهای داده‌شده‌ی یک سند موجود را تغییر بده؛ اگر وجود نداشت شکست بخور.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

کنش جایگذاری ACTION_EMPLACE

پایا کنش جایگذاری: رشته = "emplace"
سند را بساز، یا اگر وجود داشت فیلدهای داده‌شده را به‌روزرسانی کن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

ناپاک تبدیل با رد DIRTY_COERCE_OR_REJECT

پایا ناپاک تبدیل با رد: رشته = "coerce_or_reject"
مقدار با نوع نادرست را به نوع فیلد تبدیل کن و اگر نشد سند را رد کن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

ناپاک تبدیل با کنار DIRTY_COERCE_OR_DROP

پایا ناپاک تبدیل با کنار: رشته = "coerce_or_drop"
مقدار با نوع نادرست را به نوع فیلد تبدیل کن و اگر نشد آن فیلد را کنار بگذار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

ناپاک کنار گذاشتن DIRTY_DROP

پایا ناپاک کنار گذاشتن: رشته = "drop"
فیلدهایی را که مقدارشان نوع نادرست دارد کنار بگذار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

ناپاک رد DIRTY_REJECT

پایا ناپاک رد: رشته = "reject"
سندهایی را که مقداری با نوع نادرست دارند رد کن.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

تابع‌ها

جدید New

تابع جدید(url: رشته، api_key: رشته): کلاینت
کارخواهی برای یک گره. نشانی بدون طرح http:// می‌گیرد و اسلش پایانی حذف می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

خوشه جدید NewCluster

تابع خوشه جدید(urls: وکتور<رشته>، api_key: رشته): کلاینت
کارخواهی برای چند گره که به نوبت امتحان می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

تنظیم نزدیک‌ترین گره SetNearestNode

تابع تنظیم نزدیک‌ترین گره(c &: کلاینت، url: رشته)
گرهی را که اول امتحان می‌شود تعیین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

افزودن گره AddNode

تابع افزودن گره(c &: کلاینت، url: رشته)
یک گره دیگر به کارخواه می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

افزودن سرصفحه AddHeader

تابع افزودن سرصفحه(c &: کلاینت، name: رشته، value: رشته)
یک سرآیند به همه‌ی درخواست‌های این کارخواه می‌افزاید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

آزادسازی Free

تابع آزادسازی(c &: کلاینت)
حافظه‌ای را که کارخواه نگه داشته آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

گره سالم است NodeHealthy

تابع گره سالم است(c: کلاینت، index: صحیح): منطقی
آیا گره این اندیس همین حالا می‌تواند امتحان شود؛ -1 درباره‌ی نزدیک‌ترین گره می‌پرسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

موفق Ok

تابع موفق(err: خطا): منطقی
وقتی آخرین فراخوانی موفق بود درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

پیدا نشد IsNotFound

تابع پیدا نشد(err: خطا): منطقی
وقتی سرور ۴۰۴ پاسخ داد درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

تداخل دارد IsConflict

تابع تداخل دارد(err: خطا): منطقی
وقتی سرور ۴۰۹ پاسخ داد درست است، مثلا وقتی مجموعه یا سند از قبل وجود دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

متن خطا ErrorString

تابع متن خطا(err: خطا): رشته
خطا به صورت یک سطر متن، یا خالی وقتی خطایی نیست.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

درخواست Request

تابع درخواست(c: کلاینت، method: رشته، path: رشته، body: رشته، err &: خطا): رشته
هر درخواستی را با بدنه‌ی JSON می‌فرستد و بدنه‌ی پاسخ را برمی‌گرداند؛ برای مسیرهایی که این بسته تابعی برایشان ندارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

درخواست با نوع RequestAs

تابع درخواست با نوع(c: کلاینت، method: رشته، path: رشته، content_type: رشته، body: رشته، err &: خطا): رشته
مثل درخواست، با نوع محتوای دلخواه شما.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

سلامت Health

تابع سلامت(c: کلاینت، err &: خطا): منطقی
وقتی گره آماده‌ی خدمت است درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

سالم است IsHealthy

تابع سالم است(c: کلاینت): منطقی
سلامت بدون آرگومان خطا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

اشکال زدایی Debug

تابع اشکال زدایی(c: کلاینت، err &: خطا): رشته
پاسخ /debug همراه با نسخه‌ی سرور، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

نسخه سرور ServerVersion

تابع نسخه سرور(c: کلاینت، err &: خطا): رشته
نسخه‌ی سرور، مثل 30.2.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

آمار Stats

تابع آمار(c: کلاینت، err &: خطا): رشته
نرخ درخواست‌ها و تاخیرها، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

سنجه ها Metrics

تابع سنجه ها(c: کلاینت، err &: خطا): رشته
اعداد حافظه، دیسک و پردازنده، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

وضعیت Status

تابع وضعیت(c: کلاینت، err &: خطا): وضعیت خوشه
وضعیت raft گره.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

ساخت تصویر لحظه ای CreateSnapshot

تابع ساخت تصویر لحظه ای(c: کلاینت، snapshot_path: رشته، err &: خطا): منطقی
برای پشتیبان‌گیری، یک تصویر لحظه‌ای از داده‌ها در پوشه‌ای روی سرور می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

رای گیری Vote

تابع رای گیری(c: کلاینت، err &: خطا): منطقی
از گره می‌خواهد انتخاب رهبر را آغاز کند؛ اگر کرد درست است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

پاک کردن حافظه نهان ClearCache

تابع پاک کردن حافظه نهان(c: کلاینت، err &: خطا): منطقی
حافظه‌ی نهان نتیجه‌های جستجو را خالی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

فشرده سازی پایگاه CompactDB

تابع فشرده سازی پایگاه(c: کلاینت، err &: خطا): منطقی
پایگاه داده‌ی روی دیسک را فشرده می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

بازنشانی همتاها ResetPeers

تابع بازنشانی همتاها(c: کلاینت، err &: خطا): منطقی
همتاهای raft گرهی را که حد نصابش را از دست داده بازنشانی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

تغییرات طرح SchemaChanges

تابع تغییرات طرح(c: کلاینت، err &: خطا): وکتور<رشته>
تغییرات طرحی که هنوز در جریان‌اند، هر کدام یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

به‌روزرسانی پیکربندی UpdateConfig

تابع به‌روزرسانی پیکربندی(c: کلاینت، config: رشته، err &: خطا): منطقی
تنظیمات سرور را در زمان اجرا تغییر می‌دهد؛ آن‌ها را به شکل JSON بدهید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

تنظیم گزارش درخواست کند SetSlowRequestLog

تابع تنظیم گزارش درخواست کند(c: کلاینت، millis: صحیح، err &: خطا): منطقی
درخواست‌هایی را که کندتر از این چند میلی‌ثانیه باشند ثبت می‌کند؛ -1 گزارش را خاموش می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam

جیسون قاعده تحلیل AnalyticsRuleJSON

تابع جیسون قاعده تحلیل(r: قاعده تحلیل): رشته
JSON یک قاعده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

ساخت قاعده تحلیل از جیسون CreateAnalyticsRuleJSON

تابع ساخت قاعده تحلیل از جیسون(c: کلاینت، rule: رشته، err &: خطا): رشته
قاعده‌ای را از JSON، به شکلی که سرور شما انتظار دارد، می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

درج قاعده تحلیل از جیسون UpsertAnalyticsRuleJSON

تابع درج قاعده تحلیل از جیسون(c: کلاینت، name: رشته، rule: رشته، err &: خطا): رشته
قاعده‌ای را با نامش از JSON می‌سازد یا جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

ساخت قاعده تحلیل CreateAnalyticsRule

تابع ساخت قاعده تحلیل(c: کلاینت، r: قاعده تحلیل، err &: خطا): قاعده تحلیل
یک قاعده می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

درج قاعده تحلیل UpsertAnalyticsRule

تابع درج قاعده تحلیل(c: کلاینت، r: قاعده تحلیل، err &: خطا): قاعده تحلیل
یک قاعده می‌سازد یا جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

دریافت قاعده تحلیل GetAnalyticsRule

تابع دریافت قاعده تحلیل(c: کلاینت، name: رشته، err &: خطا): قاعده تحلیل
یک قاعده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

فهرست قاعده های تحلیل ListAnalyticsRules

تابع فهرست قاعده های تحلیل(c: کلاینت، rule_tag: رشته، err &: خطا): وکتور<قاعده تحلیل>
همه‌ی قاعده‌ها، یا فقط آن‌هایی که یک برچسب دارند؛ پاسخ تایپ‌سنس ۲۹ و ۳۰ هر دو را می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

حذف قاعده تحلیل DeleteAnalyticsRule

تابع حذف قاعده تحلیل(c: کلاینت، name: رشته، err &: خطا): رشته
یک قاعده را حذف می‌کند و نامش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

ارسال رویداد از جیسون SendEventJSON

تابع ارسال رویداد از جیسون(c: کلاینت، event: رشته، err &: خطا): منطقی
رویدادی را که به شکل JSON نوشته شده می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

ارسال رویداد SendEvent

تابع ارسال رویداد(c: کلاینت، name: رشته، event_type: رشته، data: رشته، err &: خطا): منطقی
رویدادی را با داده‌هایش به شکل JSON، مثل {"doc_id":"1","user_id":"u1"}، برای قاعده‌ای با این نام می‌فرستد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

دریافت رویدادها GetEvents

تابع دریافت رویدادها(c: کلاینت، user_id: رشته، name: رشته، n: صحیح، err &: خطا): وکتور<رشته>
آخرین رویدادهای یک کاربر برای یک قاعده، هر کدام یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

تخلیه تحلیل FlushAnalytics

تابع تخلیه تحلیل(c: کلاینت، err &: خطا): منطقی
تحلیل‌های گردآوری‌شده را همین حالا در مجموعه‌هایشان می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

وضعیت تحلیل AnalyticsStatus

تابع وضعیت تحلیل(c: کلاینت، err &: خطا): رشته
شمار رویدادهایی که در انتظار نوشته شدن‌اند، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

جیسون مدل گفتگو ConversationModelJSON

تابع جیسون مدل گفتگو(m: مدل گفتگو): رشته
JSON یک مدل گفتگو.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

ساخت مدل گفتگو CreateConversationModel

تابع ساخت مدل گفتگو(c: کلاینت، m: مدل گفتگو، err &: خطا): رشته
یک مدل گفتگو می‌سازد؛ سرور کلید را نزد ارائه‌دهنده بررسی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

دریافت مدل گفتگو GetConversationModel

تابع دریافت مدل گفتگو(c: کلاینت، id: رشته، err &: خطا): رشته
یک مدل گفتگو، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

فهرست مدل های گفتگو ListConversationModels

تابع فهرست مدل های گفتگو(c: کلاینت، err &: خطا): وکتور<رشته>
همه‌ی مدل‌های گفتگو، هر کدام یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

به‌روزرسانی مدل گفتگو UpdateConversationModel

تابع به‌روزرسانی مدل گفتگو(c: کلاینت، id: رشته، m: مدل گفتگو، err &: خطا): رشته
یک مدل گفتگو را تغییر می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

حذف مدل گفتگو DeleteConversationModel

تابع حذف مدل گفتگو(c: کلاینت، id: رشته، err &: خطا): رشته
یک مدل گفتگو را حذف می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

ساخت مدل جستجوی زبانی CreateNLSearchModel

تابع ساخت مدل جستجوی زبانی(c: کلاینت، model: رشته، err &: خطا): رشته
از JSON یک مدل جستجوی زبان طبیعی می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

دریافت مدل جستجوی زبانی GetNLSearchModel

تابع دریافت مدل جستجوی زبانی(c: کلاینت، id: رشته، err &: خطا): رشته
یک مدل جستجوی زبانی، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

فهرست مدل های جستجوی زبانی ListNLSearchModels

تابع فهرست مدل های جستجوی زبانی(c: کلاینت، err &: خطا): وکتور<رشته>
همه‌ی مدل‌های جستجوی زبانی، هر کدام یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

به‌روزرسانی مدل جستجوی زبانی UpdateNLSearchModel

تابع به‌روزرسانی مدل جستجوی زبانی(c: کلاینت، id: رشته، model: رشته، err &: خطا): رشته
یک مدل جستجوی زبانی را تغییر می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

حذف مدل جستجوی زبانی DeleteNLSearchModel

تابع حذف مدل جستجوی زبانی(c: کلاینت، id: رشته، err &: خطا): رشته
یک مدل جستجوی زبانی را حذف می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam

جستجوی جدید NewSearch

تابع جستجوی جدید(q: رشته، query_by: رشته): پارامترهای جستجو
پارامترهای جستجو با یک پرسمان و فیلدهایی که جستجو می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

تنظیم پارامتر Set

تابع تنظیم پارامتر(p &: پارامترهای جستجو، key: رشته، value: رشته)
هر پارامتری را با نامش تنظیم می‌کند و مقدار قبلی را جایگزین می‌کند؛ برای پارامترهایی که فیلد ندارند، مثل prioritize_exact_match، یا enable_curations با مقدار false برای خاموش کردن قاعده‌های گزینش در یک جستجو (در تایپ‌سنس ۲۹ enable_overrides).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

متن پرسمان جستجو SearchQuery

تابع متن پرسمان جستجو(p: پارامترهای جستجو): رشته
پارامترها به صورت رشته‌ی پرسمان نشانی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

جیسون پارامترهای جستجو SearchParamsJSON

تابع جیسون پارامترهای جستجو(p: پارامترهای جستجو): رشته
پارامترها به صورت یک شیء JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

تجزیه نتیجه جستجو ParseSearchResult

تابع تجزیه نتیجه جستجو(body: رشته): نتیجه جستجو
پاسخ جستجویی را که از راه دیگری گرفته‌اید می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

جستجوی خام SearchRaw

تابع جستجوی خام(c: کلاینت، collection: رشته، p: پارامترهای جستجو، err &: خطا): رشته
در یک مجموعه جستجو می‌کند و پاسخ را به شکل JSON برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

تابع جستجو(c: کلاینت، collection: رشته، p: پارامترهای جستجو، err &: خطا): نتیجه جستجو
در یک مجموعه جستجو می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

جستجوی چندگانه خام MultiSearchRaw

تابع جستجوی چندگانه خام(c: کلاینت، searches: وکتور<درخواست جستجو>، common: پارامترهای جستجو، err &: خطا): رشته
چند جستجو را در یک درخواست انجام می‌دهد و پاسخ را به شکل JSON برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

جستجوی چندگانه MultiSearch

تابع جستجوی چندگانه(c: کلاینت، searches: وکتور<درخواست جستجو>، common: پارامترهای جستجو، err &: خطا): وکتور<نتیجه جستجو>
چند جستجو را در یک درخواست انجام می‌دهد؛ پارامترهای مشترک روی همه اعمال می‌شوند و هر نتیجه code و error خودش را دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

جستجوی اجتماع UnionSearch

تابع جستجوی اجتماع(c: کلاینت، searches: وکتور<درخواست جستجو>، common: پارامترهای جستجو، err &: خطا): نتیجه جستجو
چند جستجو انجام می‌دهد و یافته‌هایشان را در یک فهرست رتبه‌بندی‌شده ادغام می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

یافته ها به نوع HitsAs

تابع یافته ها به نوع<T>(r: نتیجه جستجو، out &: وکتور<T>، err &: خطا): منطقی
سند یافته‌ها را در فهرستی از ساختارهای شما می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

برجسته Highlight

تابع برجسته(h: یافته، field: رشته): رشته
تکه‌ی برجسته‌ی یک فیلد در یک یافته؛ تکه‌های یک فیلد فهرستی با فاصله به هم پیوسته می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

آزادسازی نتیجه FreeResult

تابع آزادسازی نتیجه(r &: نتیجه جستجو)
فهرست‌هایی را که نتیجه‌ی جستجو نگه داشته آزاد می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam

جیسون مشخصات کلید KeySpecJSON

تابع جیسون مشخصات کلید(spec: مشخصات کلید): رشته
بدنه‌ی JSON مشخصات یک کلید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

ساخت کلید CreateKey

تابع ساخت کلید(c: کلاینت، spec: مشخصات کلید، err &: خطا): کلید
یک کلید API می‌سازد؛ مقدار value برگشتی تنها جایی است که کلید کامل دیده می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

کلید فقط جستجو SearchOnlyKey

تابع کلید فقط جستجو(c: کلاینت، description: رشته، collections: وکتور<رشته>، err &: خطا): کلید
کلیدی می‌سازد که فقط می‌تواند در مجموعه‌های داده‌شده جستجو کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

دریافت کلید GetKey

تابع دریافت کلید(c: کلاینت، id: صحیح۶۴، err &: خطا): کلید
یک کلید، با شناسه‌اش؛ فقط پیشوندش برمی‌گردد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

فهرست کلیدها ListKeys

تابع فهرست کلیدها(c: کلاینت، err &: خطا): وکتور<کلید>
همه‌ی کلیدها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

حذف کلید DeleteKey

تابع حذف کلید(c: کلاینت، id: صحیح۶۴، err &: خطا): صحیح۶۴
یک کلید را حذف می‌کند و شناسه‌اش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

ساخت کلید جستجوی محدود GenerateScopedSearchKey

تابع ساخت کلید جستجوی محدود(search_key: رشته، embedded_params: رشته): رشته
از یک کلید جستجو و پارامترهای جستجوی جاسازی‌شده به شکل JSON، بدون هیچ درخواستی به سرور، یک کلید جستجوی محدود امضا می‌کند. پارامترها، مثل filter_by و expires_at، روی هر جستجویی که با آن انجام شود اعمال می‌شوند و مرورگر نمی‌تواند تغییرشان دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

کلید جستجوی محدود ScopedSearchKey

تابع کلید جستجوی محدود(search_key: رشته، p: پارامترهای جستجو، expires_at: صحیح۶۴): رشته
ساخت کلید جستجوی محدود با پارامترهایی که از یک پارامترهای جستجو گرفته می‌شوند؛ ۰ یعنی بدون انقضا.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam

فیلد جدید NewField

تابع فیلد جدید(name: رشته، kind: رشته): فیلد
فیلدی با یک نام و یک نوع.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

فیلد دسته بندی FacetField

تابع فیلد دسته بندی(name: رشته، kind: رشته): فیلد
فیلدی که دسته‌بندی در آن روشن است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

فیلد بردار VectorField

تابع فیلد بردار(name: رشته، num_dim: صحیح): فیلد
یک فیلد برداری float[] با اندازه‌ی داده‌شده.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

فیلد جاسازی EmbeddingField

تابع فیلد جاسازی(name: رشته، from: وکتور<رشته>، model_name: رشته): فیلد
فیلد برداری‌ای که تایپ‌سنس با اجرای یک مدل روی فیلدهای دیگر پرش می‌کند، مثل ts/all-MiniLM-L12-v2.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

جیسون فیلد FieldJSON

تابع جیسون فیلد(f: فیلد): رشته
JSON یک فیلد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

جیسون طرح SchemaJSON

تابع جیسون طرح(s: طرح): رشته
JSON یک طرح.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

ساخت مجموعه CreateCollection

تابع ساخت مجموعه(c: کلاینت، schema: طرح، err &: خطا): مجموعه
از یک طرح، مجموعه‌ای می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

ساخت مجموعه از جیسون CreateCollectionJSON

تابع ساخت مجموعه از جیسون(c: کلاینت، schema: رشته، err &: خطا): مجموعه
از طرحی که به شکل JSON نوشته شده، مجموعه‌ای می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

رونوشت مجموعه CloneCollection

تابع رونوشت مجموعه(c: کلاینت، source: رشته، name: رشته، err &: خطا): مجموعه
مجموعه‌ای تازه و خالی با طرح یک مجموعه‌ی دیگر می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

دریافت مجموعه GetCollection

تابع دریافت مجموعه(c: کلاینت، name: رشته، err &: خطا): مجموعه
یک مجموعه.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

مجموعه وجود دارد CollectionExists

تابع مجموعه وجود دارد(c: کلاینت، name: رشته، err &: خطا): منطقی
آیا مجموعه‌ای وجود دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

فهرست مجموعه ها ListCollections

تابع فهرست مجموعه ها(c: کلاینت، err &: خطا): وکتور<مجموعه>
همه‌ی مجموعه‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

صفحه مجموعه ها ListCollectionsPage

تابع صفحه مجموعه ها(c: کلاینت، offset: صحیح، limit: صحیح، exclude_fields: وکتور<رشته>، err &: خطا): وکتور<مجموعه>
یک صفحه از مجموعه‌ها؛ ۰ یعنی بدون جابجایی یا بدون حد، و exclude_fields مثل fields پاسخ را کوچک‌تر می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

به‌روزرسانی مجموعه UpdateCollection

تابع به‌روزرسانی مجموعه(c: کلاینت، name: رشته، changes: رشته، err &: خطا): رشته
مجموعه‌ای را با یک بدنه‌ی JSON تغییر می‌دهد: فیلدهایی برای افزودن یا حذف، فراداده، دسته‌های مترادف و گزینش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

افزودن فیلدها AddFields

تابع افزودن فیلدها(c: کلاینت، name: رشته، fields: وکتور<فیلد>، err &: خطا): رشته
فیلدهایی به یک مجموعه می‌افزاید؛ سندهای موجود دوباره نمایه می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

حذف فیلدها DropFields

تابع حذف فیلدها(c: کلاینت، name: رشته، fields: وکتور<رشته>، err &: خطا): رشته
فیلدهایی را با نامشان از یک مجموعه حذف می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

تنظیم فراداده مجموعه SetCollectionMetadata

تابع تنظیم فراداده مجموعه(c: کلاینت، name: رشته، metadata: رشته، err &: خطا): رشته
فراداده‌ی یک مجموعه را جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

حذف مجموعه DeleteCollection

تابع حذف مجموعه(c: کلاینت، name: رشته، err &: خطا): مجموعه
یک مجموعه و همه‌ی سندهایش را حذف می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

خالی کردن مجموعه TruncateCollection

تابع خالی کردن مجموعه(c: کلاینت، name: رشته، err &: خطا): صحیح۶۴
همه‌ی سندها را حذف می‌کند ولی مجموعه را نگه می‌دارد، و تعداد حذف‌شده‌ها را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

درج نام مستعار UpsertAlias

تابع درج نام مستعار(c: کلاینت، name: رشته، collection: رشته، err &: خطا): نام مستعار
یک نام مستعار را به مجموعه‌ای اشاره می‌دهد؛ جابجا کردن آن راه رفتن به مجموعه‌ی بازسازی‌شده بدون هیچ وقفه‌ای است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

دریافت نام مستعار GetAlias

تابع دریافت نام مستعار(c: کلاینت، name: رشته، err &: خطا): نام مستعار
یک نام مستعار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

فهرست نام های مستعار ListAliases

تابع فهرست نام های مستعار(c: کلاینت، err &: خطا): وکتور<نام مستعار>
همه‌ی نام‌های مستعار.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

حذف نام مستعار DeleteAlias

تابع حذف نام مستعار(c: کلاینت، name: رشته، err &: خطا): نام مستعار
یک نام مستعار را حذف می‌کند، نه خود مجموعه را.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam

جیسون مترادف SynonymJSON

تابع جیسون مترادف(s: مترادف): رشته
بدنه‌ی JSON یک مترادف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

جیسون گزینش CurationJSON

تابع جیسون گزینش(r: قاعده گزینش): رشته
بدنه‌ی JSON یک قاعده‌ی گزینش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج دسته مترادف UpsertSynonymSet

تابع درج دسته مترادف(c: کلاینت، name: رشته، items: وکتور<مترادف>، err &: خطا): دسته مترادف
یک دسته‌ی مترادف می‌سازد یا جایگزین می‌کند (تایپ‌سنس ۳۰).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت دسته مترادف GetSynonymSet

تابع دریافت دسته مترادف(c: کلاینت، name: رشته، err &: خطا): دسته مترادف
یک دسته‌ی مترادف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست دسته های مترادف ListSynonymSets

تابع فهرست دسته های مترادف(c: کلاینت، err &: خطا): وکتور<دسته مترادف>
همه‌ی دسته‌های مترادف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف دسته مترادف DeleteSynonymSet

تابع حذف دسته مترادف(c: کلاینت، name: رشته، err &: خطا): رشته
یک دسته‌ی مترادف را حذف می‌کند و نامش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج مترادف دسته UpsertSynonymItem

تابع درج مترادف دسته(c: کلاینت، set: رشته، item: مترادف، err &: خطا): مترادف
یک مترادف را در دسته‌ای که وجود دارد می‌افزاید یا جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت مترادف دسته GetSynonymItem

تابع دریافت مترادف دسته(c: کلاینت، set: رشته، id: رشته، err &: خطا): مترادف
یک مترادف از یک دسته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست مترادف های دسته ListSynonymItems

تابع فهرست مترادف های دسته(c: کلاینت، set: رشته، err &: خطا): وکتور<مترادف>
مترادف‌های یک دسته.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف مترادف دسته DeleteSynonymItem

تابع حذف مترادف دسته(c: کلاینت، set: رشته، id: رشته، err &: خطا): رشته
یک مترادف از یک دسته را حذف می‌کند و شناسه‌اش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج مترادف UpsertSynonym

تابع درج مترادف(c: کلاینت، collection: رشته، s: مترادف، err &: خطا): مترادف
مترادفی از یک مجموعه را می‌افزاید یا جایگزین می‌کند (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت مترادف GetSynonym

تابع دریافت مترادف(c: کلاینت، collection: رشته، id: رشته، err &: خطا): مترادف
یک مترادف از یک مجموعه (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست مترادف ها ListSynonyms

تابع فهرست مترادف ها(c: کلاینت، collection: رشته، err &: خطا): وکتور<مترادف>
مترادف‌های یک مجموعه (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف مترادف DeleteSynonym

تابع حذف مترادف(c: کلاینت، collection: رشته، id: رشته، err &: خطا): رشته
مترادفی از یک مجموعه را حذف می‌کند (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج دسته گزینش UpsertCurationSet

تابع درج دسته گزینش(c: کلاینت، name: رشته، items: وکتور<قاعده گزینش>، err &: خطا): دسته گزینش
یک دسته‌ی گزینش می‌سازد یا جایگزین می‌کند (تایپ‌سنس ۳۰).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت دسته گزینش GetCurationSet

تابع دریافت دسته گزینش(c: کلاینت، name: رشته، err &: خطا): دسته گزینش
یک دسته‌ی گزینش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست دسته های گزینش ListCurationSets

تابع فهرست دسته های گزینش(c: کلاینت، err &: خطا): وکتور<دسته گزینش>
همه‌ی دسته‌های گزینش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف دسته گزینش DeleteCurationSet

تابع حذف دسته گزینش(c: کلاینت، name: رشته، err &: خطا): رشته
یک دسته‌ی گزینش را حذف می‌کند و نامش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج قاعده دسته گزینش UpsertCurationItem

تابع درج قاعده دسته گزینش(c: کلاینت، set: رشته، r: قاعده گزینش، err &: خطا): قاعده گزینش
یک قاعده را در دسته‌ی گزینشی که وجود دارد می‌افزاید یا جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت قاعده دسته گزینش GetCurationItem

تابع دریافت قاعده دسته گزینش(c: کلاینت، set: رشته، id: رشته، err &: خطا): قاعده گزینش
یک قاعده از یک دسته‌ی گزینش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست قاعده های دسته گزینش ListCurationItems

تابع فهرست قاعده های دسته گزینش(c: کلاینت، set: رشته، err &: خطا): وکتور<قاعده گزینش>
قاعده‌های یک دسته‌ی گزینش.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف قاعده دسته گزینش DeleteCurationItem

تابع حذف قاعده دسته گزینش(c: کلاینت، set: رشته، id: رشته، err &: خطا): رشته
یک قاعده از یک دسته‌ی گزینش را حذف می‌کند و شناسه‌اش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج بازنویسی UpsertOverride

تابع درج بازنویسی(c: کلاینت، collection: رشته، r: قاعده گزینش، err &: خطا): قاعده گزینش
بازنویسی‌ای از یک مجموعه را می‌افزاید یا جایگزین می‌کند (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت بازنویسی GetOverride

تابع دریافت بازنویسی(c: کلاینت، collection: رشته، id: رشته، err &: خطا): قاعده گزینش
یک بازنویسی از یک مجموعه (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست بازنویسی ها ListOverrides

تابع فهرست بازنویسی ها(c: کلاینت، collection: رشته، err &: خطا): وکتور<قاعده گزینش>
بازنویسی‌های یک مجموعه (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف بازنویسی DeleteOverride

تابع حذف بازنویسی(c: کلاینت، collection: رشته، id: رشته، err &: خطا): رشته
بازنویسی‌ای از یک مجموعه را حذف می‌کند (تایپ‌سنس ۲۹ و قدیمی‌تر).

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج پیش تنظیم UpsertPreset

تابع درج پیش تنظیم(c: کلاینت، name: رشته، value: رشته، err &: خطا): پیش تنظیم
یک پیش‌تنظیم می‌سازد یا جایگزین می‌کند؛ مقدارش را به شکل JSON بدهید.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج پیش تنظیم جستجو UpsertSearchPreset

تابع درج پیش تنظیم جستجو(c: کلاینت، name: رشته، p: پارامترهای جستجو، err &: خطا): پیش تنظیم
یک پارامترهای جستجو را به عنوان پیش‌تنظیم ذخیره می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت پیش تنظیم GetPreset

تابع دریافت پیش تنظیم(c: کلاینت، name: رشته، err &: خطا): پیش تنظیم
یک پیش‌تنظیم.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست پیش تنظیم ها ListPresets

تابع فهرست پیش تنظیم ها(c: کلاینت، err &: خطا): وکتور<پیش تنظیم>
همه‌ی پیش‌تنظیم‌ها.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف پیش تنظیم DeletePreset

تابع حذف پیش تنظیم(c: کلاینت، name: رشته، err &: خطا): رشته
یک پیش‌تنظیم را حذف می‌کند و نامش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درج کلمات توقف UpsertStopwords

تابع درج کلمات توقف(c: کلاینت، id: رشته، words: وکتور<رشته>، locale: رشته، err &: خطا): کلمات توقف
یک دسته‌ی کلمات توقف می‌سازد یا جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت کلمات توقف GetStopwords

تابع دریافت کلمات توقف(c: کلاینت، id: رشته، err &: خطا): کلمات توقف
یک دسته‌ی کلمات توقف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست کلمات توقف ListStopwords

تابع فهرست کلمات توقف(c: کلاینت، err &: خطا): وکتور<کلمات توقف>
همه‌ی دسته‌های کلمات توقف.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف کلمات توقف DeleteStopwords

تابع حذف کلمات توقف(c: کلاینت، id: رشته، err &: خطا): رشته
یک دسته‌ی کلمات توقف را حذف می‌کند و شناسه‌اش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درون ریزی ریشه یابی جیسون خطی ImportStemmingJSONL

تابع درون ریزی ریشه یابی جیسون خطی(c: کلاینت، id: رشته، jsonl: رشته، err &: خطا): منطقی
یک واژه‌نامه‌ی ریشه‌یابی را درون‌ریزی می‌کند که در هر سطرش یک شیء {"word","root"} نوشته شده است.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

درون ریزی واژه نامه ریشه یابی ImportStemmingDictionary

تابع درون ریزی واژه نامه ریشه یابی(c: کلاینت، id: رشته، words: وکتور<ریشه کلمه>، err &: خطا): منطقی
یک واژه‌نامه‌ی ریشه‌یابی را از فهرستی از واژه‌ها درون‌ریزی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

دریافت واژه نامه ریشه یابی GetStemmingDictionary

تابع دریافت واژه نامه ریشه یابی(c: کلاینت، id: رشته، err &: خطا): واژه نامه ریشه یابی
یک واژه‌نامه‌ی ریشه‌یابی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

فهرست واژه نامه های ریشه یابی ListStemmingDictionaries

تابع فهرست واژه نامه های ریشه یابی(c: کلاینت، err &: خطا): وکتور<رشته>
شناسه‌ی همه‌ی واژه‌نامه‌های ریشه‌یابی.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

حذف واژه نامه ریشه یابی DeleteStemmingDictionary

تابع حذف واژه نامه ریشه یابی(c: کلاینت، id: رشته، err &: خطا): رشته
یک واژه‌نامه‌ی ریشه‌یابی را حذف می‌کند و شناسه‌اش را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam

نمایه سازی سند IndexDocument

تابع نمایه سازی سند(c: کلاینت، collection: رشته، document: رشته، opts: گزینه های نوشتن، err &: خطا): رشته
یک سند را با گزینه‌های داده‌شده می‌نویسد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

ساخت سند CreateDocument

تابع ساخت سند(c: کلاینت، collection: رشته، document: رشته، err &: خطا): رشته
یک سند تازه نمایه می‌کند و آن را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

درج سند UpsertDocument

تابع درج سند(c: کلاینت، collection: رشته، document: رشته، err &: خطا): رشته
یک سند می‌سازد یا سند هم‌شناسه را جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

جایگذاری سند EmplaceDocument

تابع جایگذاری سند(c: کلاینت، collection: رشته، document: رشته، err &: خطا): رشته
یک سند می‌سازد یا فیلدهای داده‌شده‌ی سند هم‌شناسه را به‌روزرسانی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

به‌روزرسانی سند UpdateDocument

تابع به‌روزرسانی سند(c: کلاینت، collection: رشته، id: رشته، partial: رشته، err &: خطا): رشته
چند فیلد از یک سند را تغییر می‌دهد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

به‌روزرسانی سند با گزینه UpdateDocumentWith

تابع به‌روزرسانی سند با گزینه(c: کلاینت، collection: رشته، id: رشته، partial: رشته، dirty_values: رشته، err &: خطا): رشته
به‌روزرسانی سند با یک حالت dirty_values.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

دریافت سند GetDocument

تابع دریافت سند(c: کلاینت، collection: رشته، id: رشته، err &: خطا): رشته
یک سند، با شناسه‌اش، به شکل JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

سند وجود دارد DocumentExists

تابع سند وجود دارد(c: کلاینت، collection: رشته، id: رشته، err &: خطا): منطقی
آیا سندی با این شناسه وجود دارد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

حذف سند DeleteDocument

تابع حذف سند(c: کلاینت، collection: رشته، id: رشته، err &: خطا): رشته
یک سند را حذف می‌کند و آن را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

حذف با پالایه DeleteByFilter

تابع حذف با پالایه(c: کلاینت، collection: رشته، filter_by: رشته، batch_size: صحیح، err &: خطا): صحیح۶۴
همه‌ی سندهایی را که با فیلتر جور باشند حذف می‌کند و تعدادشان را برمی‌گرداند؛ ۰ برای اندازه‌ی دسته یعنی پیش‌فرض سرور.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

به‌روزرسانی با پالایه UpdateByFilter

تابع به‌روزرسانی با پالایه(c: کلاینت، collection: رشته، filter_by: رشته، partial: رشته، err &: خطا): صحیح۶۴
فیلدهای داده‌شده‌ی همه‌ی سندهایی را که با فیلتر جور باشند تغییر می‌دهد و تعدادشان را برمی‌گرداند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

درون ریزی جیسون خطی ImportJSONL

تابع درون ریزی جیسون خطی(c: کلاینت، collection: رشته، jsonl: رشته، opts: گزینه های نوشتن، err &: خطا): نتیجه درون ریزی
سندهایی را که هر کدام یک شیء JSON در یک سطرند درون‌ریزی می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

درون ریزی سندها ImportDocuments

تابع درون ریزی سندها(c: کلاینت، collection: رشته، documents: وکتور<رشته>، opts: گزینه های نوشتن، err &: خطا): نتیجه درون ریزی
فهرستی از سندهای JSON را درون‌ریزی می‌کند؛ هر سند اول در یک سطر گذاشته می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

درون ریزی از نوع ImportOf

تابع درون ریزی از نوع<T>(c: کلاینت، collection: رشته، documents: وکتور<T>، opts: گزینه های نوشتن، err &: خطا): نتیجه درون ریزی
فهرستی از ساختارهای خودتان را درون‌ریزی می‌کند که با json.Marshal نوشته می‌شوند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

ساخت سند از نوع CreateDocumentOf

تابع ساخت سند از نوع<T>(c: کلاینت، collection: رشته، document: T، err &: خطا): رشته
یک سند را از ساختار خودتان می‌سازد.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

درج سند از نوع UpsertDocumentOf

تابع درج سند از نوع<T>(c: کلاینت، collection: رشته، document: T، err &: خطا): رشته
یک سند را از ساختار خودتان درج یا جایگزین می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

رمزگشایی سند DecodeDocument

تابع رمزگشایی سند<T>(document: رشته، out &: T، err &: خطا): منطقی
یک سند JSON را در ساختار شما می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

دریافت سند به نوع GetDocumentAs

تابع دریافت سند به نوع<T>(c: کلاینت، collection: رشته، id: رشته، out &: T، err &: خطا): منطقی
یک سند را با شناسه‌اش در ساختار شما می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

رمزگشایی سندها DecodeDocuments

تابع رمزگشایی سندها<T>(documents: وکتور<رشته>، out &: وکتور<T>، err &: خطا): منطقی
فهرستی از سندهای JSON را در فهرستی از ساختارهای شما می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

برون بری جیسون خطی ExportJSONL

تابع برون بری جیسون خطی(c: کلاینت، collection: رشته، opts: گزینه های برون بری، err &: خطا): رشته
سندها را برون‌بری می‌کند، هر کدام یک شیء JSON در یک سطر.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam

برون بری سندها ExportDocuments

تابع برون بری سندها(c: کلاینت، collection: رشته، opts: گزینه های برون بری، err &: خطا): وکتور<رشته>
سندها را به صورت فهرست برون‌بری می‌کند، هر عضو یک سند JSON.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam