تایپسنس db/typesense
کارخواه Typesense: مجموعه، سند، جستجوی مقاوم در برابر غلط تایپی، دستهبندیشده، گروهی، برداری و اجتماعی، مترادف، گزینش، کلیدهای API، تحلیل و خوشه.
واردسازی دیتابیس.تایپسنس
تایپسنس یک موتور جستجوی متنباز با تحمل غلط تایپی، فیلتر، دستهبندی، گروهبندی و جستجوی برداری و ترکیبی است. این بسته مستقیم و با net.http با API آن کار میکند و همهی آن را پوشش میدهد: مجموعهها و فیلدهایشان، سندها یکی یکی یا با درونریزی و برونبری انبوه JSONL، همهی پارامترهای جستجو، جستجوی چندگانه و اجتماعی، دستههای مترادف و دستههای گزینش، پیشتنظیمها، کلمات توقف، واژهنامههای ریشهیابی، کلیدهای API و کلیدهای جستجوی محدود که بدون هیچ درخواستی امضا میشوند، قاعدهها و رویدادهای تحلیل، مدلهای گفتگو (RAG)، مدلهای جستجوی زبان طبیعی و کارهای خوشه. نمونهها چون به یک سرور در حال اجرا نیاز دارند فقط بررسی میشوند.
هر فراخوانی یک خطا را به عنوان آخرین آرگومان میگیرد و اگر چیزی شکست بخورد آن را پر میکند؛ با موفق بررسیاش کنید، یا با پیدا نشد و تداخل دارد برای دو پاسخی که کد معمولاً جدا رسیدگی میکند. یک کارخواه میتواند چند گره داشته باشد: گرهی که پاسخ ندهد یا با خطای 5xx پاسخ دهد به اندازهی healthcheck_ms کنار گذاشته میشود و درخواست به گره بعدی میرود، درست مثل کارخواههای رسمی. سندها و یافتهها به شکل متن JSON خام برمیگردند؛ با دریافت سند به نوع و یافته ها به نوع آنها را در ساختارهای خودتان بخوانید و با درون ریزی از نوع و ساخت سند از نوع ساختارهایتان را بفرستید. تایپسنس ۳۰ مترادفها و بازنویسیهای هر مجموعه را با دستههای مترادف و دستههای گزینش جایگزین کرد؛ هر دو شکل اینجا هست، پس بسته با سرورهای ۲۹ و ۳۰ به یک اندازه کار میکند. برای مسیری که تابع جداگانه ندارد درخواست را به کار ببرید.
آموزش: جستجو با تایپسنس
بیشتر برنامهها یک جعبهی جستجو لازم دارند، و جستجوی خوب غلط تایپی را میبخشد، بهترین نتیجه را اول میآورد و در چند میلیثانیه پاسخ میدهد. گامهای زیر یک فهرست کوچک کتاب میسازند، از یک سرور خالی تا کلید محدودی که یک صفحهی وب بتواند به کار ببرد.
راهاندازی سرور
تایپسنس برنامهای جداست که دادهها را در نمایهی خودش نگه میدارد. سادهترین راه برای اجرای آن روی رایانهی خودتان داکر است. مقدار --api-key کلید مدیری است که برنامهی شما با هر درخواست میفرستد؛ بیرون از رایانهی خودتان به جای xyz یک رمز واقعی بگذارید.
docker run -p 8108:8108 typesense/typesense:30.2 --data-dir /tmp --api-key=xyz
نمونههای این آموزش با همین سرور کار میکنند، پس هنگام ساختن این سایت کامپایلر آنها را بررسی میکند اما اجرا نمیکند. خروجی زیر هر نمونه همان چیزی است که روی یک سرور واقعی تایپسنس ۳۰.۲ چاپ کرد. نمونهها را به ترتیب اجرا کنید، چون هر کدام روی دادههایی کار میکند که نمونههای قبلی به جا گذاشتهاند.
وصل شدن
تایپسنس.جدید نشانی سرور و کلید را میگیرد و یک کلاینت برمیگرداند. هنوز چیزی فرستاده نشده است؛ هر تابعی که با سرور کار میکند کارخواه را اول و یک خطا را آخر میگیرد. اگر فراخوانی شکست بخورد خطا پر میشود: موفق میگوید کار انجام شد یا نه، متن خطا یک سطر خوانا میدهد، و پیدا نشد و تداخل دارد به دو پرسشی پاسخ میدهند که کد بیشتر از همه میپرسد. وقتی کارتان تمام شد کارخواه را با آزادسازی رها کنید.
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
اگر وارونه تایپسنس.سلامت(ک، خ):
سرچاپ "تایپسنس آماده نیست:"، تایپسنس.متن خطا(خ)
برگشت ۱
پایان
سرچاپ "وصل شد، نسخهی سرور"، تایپسنس.نسخه سرور(ک، خ)
_ := تایپسنس.دریافت مجموعه(ک، "no_such_collection"، خ)
اگر وارونه تایپسنس.موفق(خ):
سرچاپ "وضعیت"، خ.وضعیت، "پیدا نشد:"، تایپسنس.پیدا نشد(خ)
سرچاپ تایپسنس.متن خطا(خ)
پایان
پایانخطا سه بخش کاربردی دارد: status وضعیت HTTP است (و اگر اصلاً به سرور نرسیده باشیم صفر)، kind نوع شکست را میگوید و message متنی است که سرور فرستاده.
مجموعه و فیلد
سندها در یک مجموعه نگه داشته میشوند و طرح مجموعه میگوید چه فیلدهایی دارد و نوع هر کدام چیست. فیلد جدید یک فیلد ساده میسازد، فیلد دسته بندی فیلدی که میشود مقدارهایش را شمرد، و با یک فیلد کامل بقیهی گزینهها را میگذارید: optional برای فیلدی که بعضی سندها ندارند، sort، locale برای زبان متن، infix برای یافتن از میان واژه و چیزهای دیگر. نوعها ثابتهایی مثل نوع متن، نوع عدد۳۲، نوع اعشاری، نوع آرایه متن و نوع نقطه جغرافیایی هستند.
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
_ := تایپسنس.حذف مجموعه(ک، "lesson_books"، خ)
ناپایا طرح := تایپسنس.طرح { نام = "lesson_books"، فیلد مرتبسازی پیشفرض = "year" }
طرح.فیلدها.بیفزا(تایپسنس.فیلد جدید("title"، تایپسنس.نوع متن))
طرح.فیلدها.بیفزا(تایپسنس.فیلد جدید("author"، تایپسنس.نوع متن))
طرح.فیلدها.بیفزا(تایپسنس.فیلد دسته بندی("genre"، تایپسنس.نوع متن))
طرح.فیلدها.بیفزا(تایپسنس.فیلد جدید("year"، تایپسنس.نوع عدد۳۲))
طرح.فیلدها.بیفزا(تایپسنس.فیلد { نام = "rating"، نوع = تایپسنس.نوع اعشاری، اختیاری = درست })
مجموعه := تایپسنس.ساخت مجموعه(ک، طرح، خ)
اگر وارونه تایپسنس.موفق(خ):
سرچاپ تایپسنس.متن خطا(خ)
برگشت ۱
پایان
سرچاپ "ساخته شد"، مجموعه.نام، "با"، مجموعه.فیلدها.طول()، "فیلد"
هر فیلد در مجموعه.فیلدها:
سرچاپ " "، فیلد.نام، فیلد.نوع، "دستهبندی:"، فیلد.دستهبندی
پایان
پایانیک default_sorting_field عددی ترتیب را وقتی جستجو ترتیبی نخواسته تعیین میکند. بعداً با افزودن فیلدها و حذف فیلدها مجموعه را تغییر دهید، با دریافت مجموعه و فهرست مجموعه ها نگاهش کنید و با حذف مجموعه پاکش کنید. برای ساختن دوبارهی یک مجموعه بی هیچ وقفه، نسخهی تازه را کنار نسخهی قدیمی بسازید و یک نام مستعار را با درج نام مستعار جابهجا کنید؛ برنامههایی که با نام مستعار جستجو میکنند متوجه جابهجایی نمیشوند.
افزودن سند
سند یک شیء JSON است که فیلدهایش با طرح جور است. میتوانید JSON را خودتان بنویسید، اما معمولاً داده از پیش در یک ساختار است. درون ریزی از نوع یک وکتور از هر ساختاری را میگیرد، هر کدام را با رمزگذار خود کامپایلر به JSON تبدیل میکند و همه را در یک درخواست میفرستد. دریافت سند به نوع برعکس کار میکند و سند ذخیرهشده را به ساختار شما برمیگرداند. با @جیسون نام فیلد در JSON انگلیسی میماند و نام فیلد در کد فارسی.
واردسازی دیتابیس.تایپسنس
ساختار کتاب:
@جیسون "id"
همگانی شناسه: رشته = ""
@جیسون "title"
همگانی عنوان: رشته = ""
@جیسون "author"
همگانی نویسنده: رشته = ""
@جیسون "genre"
همگانی گونه: رشته = ""
@جیسون "year"
همگانی سال: صحیح = ۰
پایان
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
ناپایا کتابها := وکتور {} برگردان وکتور<کتاب>
کتابها.بیفزا(کتاب { شناسه = "1"، عنوان = "کلیدر"، نویسنده = "محمود دولتآبادی"، گونه = "رمان"، سال = ۱۹۸۴ })
کتابها.بیفزا(کتاب { شناسه = "2"، عنوان = "جای خالی سلوچ"، نویسنده = "محمود دولتآبادی"، گونه = "رمان"، سال = ۱۹۷۹ })
کتابها.بیفزا(کتاب { شناسه = "3"، عنوان = "بوف کور"، نویسنده = "صادق هدایت"، گونه = "داستان"، سال = ۱۹۳۶ })
کتابها.بیفزا(کتاب { شناسه = "4"، عنوان = "سووشون"، نویسنده = "سیمین دانشور"، گونه = "رمان"، سال = ۱۹۶۹ })
کتابها.بیفزا(کتاب { شناسه = "5"، عنوان = "شازده احتجاب"، نویسنده = "هوشنگ گلشیری"، گونه = "داستان"، سال = ۱۹۶۹ })
ن := تایپسنس.درون ریزی از نوع(ک، "lesson_books"، کتابها، تایپسنس.گزینه های نوشتن { کنش = تایپسنس.کنش درج }، خ)
سرچاپ "وارد شد"، ن.موفق، "ناموفق"، ن.ناموفق
_ := تایپسنس.ساخت سند(ک، "lesson_books"، `{"id": "6", "title": "گلستان", "author": "سعدی", "genre": "نثر", "year": "1258"}`، خ)
سرچاپ "نوع نادرست:"، تایپسنس.متن خطا(خ)
سرچاپ تایپسنس.درج سند(ک، "lesson_books"، `{"id": "6", "title": "گلستان", "author": "سعدی", "genre": "نثر", "year": 1258}`، خ)
ناپایا ب := کتاب {}
اگر تایپسنس.دریافت سند به نوع(ک، "lesson_books"، "1"، ب، خ):
سرچاپ "خوانده شد:"، ب.عنوان، "از"، ب.نویسنده
پایان
سرچاپ تایپسنس.بهروزرسانی سند(ک، "lesson_books"، "6"، `{"rating": 4.9}`، خ)
پایاندرونریزی حتی وقتی بعضی سندها شکست بخورند پاسخ میدهد، پس failed را بررسی کنید؛ errors هر خط ناموفق را با دلیلش میآورد. گزینه های نوشتن میگوید با سندهای موجود چه شود: کنش ساخت آنها را نمیپذیرد، کنش درج جایگزینشان میکند و کنش بهروزرسانی و کنش جایگذاری فقط فیلدهای فرستادهشده را عوض میکنند. برای یک سند در هر بار ساخت سند، درج سند، بهروزرسانی سند و حذف سند هست، و حذف با پالایه و بهروزرسانی با پالایه چند سند را با هم تغییر میدهند.
جستجو
جستجوی جدید پارامترهای یک جستجو را میسازد: متنی که دنبالش هستید و فیلدهایی که باید در آنها گشت. * به جای متن همهی سندها را میآورد و همراه یک پالایه به کار میآید. نتیجه found دارد، یعنی تعداد یافتهها، و hits، یکی برای هر سند در این صفحه؛ document هر یافته خود سند به شکل JSON است.
واردسازی دیتابیس.تایپسنس
تابع نشان(برچسب: رشته، ن: تایپسنس.نتیجه جستجو):
سرچاپ برچسب، "پیدا شد"، ن.یافتشده
هر ی در ن.یافتهها:
سرچاپ " "، ی.سند
پایان
پایان
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
نشان("دولتآبادی:"، تایپسنس.جستجو(ک، "lesson_books"، تایپسنس.جستجوی جدید("دولتآبادی"، "author")، خ))
نشان("غلط تایپی:"، تایپسنس.جستجو(ک، "lesson_books"، تایپسنس.جستجوی جدید("سوشون"، "title")، خ))
ناپایا ج := تایپسنس.جستجوی جدید("*"، "")
ج.فیلتر = "genre:=رمان && year:<1980"
ج.ترتیب = "year:desc"
ج.فیلدهای شامل = "title,year"
نشان("با پالایه:"، تایپسنس.جستجو(ک، "lesson_books"، ج، خ))
ناپایا ب := تایپسنس.جستجوی جدید("دولتآبادی"، "author,title")
ب.اندازه صفحه = ۱
ن := تایپسنس.جستجو(ک، "lesson_books"، ب، خ)
سرچاپ "صفحه"، ن.صفحه، "از"، ن.یافتشده، "نتیجه، برجسته:"، تایپسنس.برجسته(ن.یافتهها.بگیر(۰)، "author")
پایانسه چیز رخ داد که لازم نبود بخواهید. سوشون باز هم سووشون را پیدا کرد، چون تایپسنس یکی دو غلط تایپی در هر واژه را میبخشد. بهترین تطابق اول آمد. و برجسته نشان میدهد کدام بخش فیلد جور شد. پارامترهای دیگر فیلدهای پارامترهای جستجو هستند: filter_by و sort_by مثل نمونه، page و per_page برای صفحهبندی، include_fields برای برگرداندن دادهی کمتر و num_typos برای سختگیری بیشتر. پارامتری که فیلد جدا ندارد با تایپسنس.تنظیم پارامتر(ج، نام، مقدار) فرستاده میشود.
| میخواهید | بنویسید |
|---|---|
| فقط بعضی سندها | ج.filter_by = "year:>1950 && genre:=[رمان, داستان]" |
| ترتیبی دیگر | ج.sort_by = "year:desc" |
| صفحهی سوم، دهتا در هر صفحه | ج.page = ۳ و ج.per_page = ۱۰ |
| هیچ غلط تایپی | ج.num_typos = "0" |
| ساختارهای خودتان به جای JSON | تایپسنس.یافته ها به نوع(نتیجه، کتابها، خ) |
دستهبندی و گروه
جستجوی یک فروشگاه معمولاً ستونی کناری دارد: چند نتیجه کفش است و چند تا پیراهن، چند تا زیر صد هزار تومان. این شمارشها دستهبندی هستند. نام فیلدهای دستهبندی را در facet_by بگذارید تا هر نتیجه برای هر کدام یک دسته داشته باشد، با مقدارها و تعداد یافتههایی که هر مقدار را دارند. group_by به پرسش دیگری پاسخ میدهد: برای هر مقدار چند یافتهی برتر را نگه میدارد، اینجا کهنترین کتاب هر گونه.
واردسازی رشته
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
ناپایا ج := تایپسنس.جستجوی جدید("*"، "")
ج.فیلدهای دستهبندی = "genre"
ن := تایپسنس.جستجو(ک، "lesson_books"، ج، خ)
هر د در ن.دستهبندیها:
هر ش در د.شمارها:
سرچاپ د.نام فیلد، ش.مقدار، ش.تعداد
پایان
پایان
ناپایا گ := تایپسنس.جستجوی جدید("*"، "")
گ.فیلدهای گروهبندی = "genre"
گ.حد گروه = ۱
گ.ترتیب = "year:asc"
نگ := تایپسنس.جستجو(ک، "lesson_books"، گ، خ)
هر گروه در نگ.گروهها:
سرچاپ "کهنترین"، رشته.بپیوند(گروه.کلید، "") + ":"، گروه.یافتهها.بگیر(۰).سند
پایان
پایانچند جستجو در یک درخواست
صفحهای که همزمان در کتابها و نویسندهها جستجو میکند به دو رفت و برگشت نیاز ندارد. جستجوی چندگانه فهرستی از درخواست جستجو را در یک درخواست میفرستد و برای هر جستجو یک نتیجه برمیگرداند؛ هر نتیجه code و error خودش را دارد، پس یک جستجوی نادرست بقیه را خراب نمیکند. پارامترهای مشترک روی همهی جستجوها اعمال میشوند. جستجوی اجتماع یک گام جلوتر میرود و یافتههای همهی جستجوها را در یک فهرست رتبهبندیشده میریزد، و هر یافته میگوید کدام جستجو پیدایش کرد.
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
ناپایا جستجوها := وکتور {} برگردان وکتور<تایپسنس.درخواست جستجو>
جستجوها.بیفزا(تایپسنس.درخواست جستجو { مجموعه = "lesson_books"، پارامترها = تایپسنس.جستجوی جدید("کلیدر"، "title") })
جستجوها.بیفزا(تایپسنس.درخواست جستجو { مجموعه = "lesson_books"، پارامترها = تایپسنس.جستجوی جدید("هدایت"، "author") })
مشترک := تایپسنس.پارامترهای جستجو { اندازه صفحه = ۳ }
هر ن در تایپسنس.جستجوی چندگانه(ک، جستجوها، مشترک، خ):
سرچاپ "جستجو پیدا کرد"، ن.یافتشده
پایان
اج := تایپسنس.جستجوی اجتماع(ک، جستجوها، مشترک، خ)
سرچاپ "اجتماع پیدا کرد"، اج.یافتشده
هر ی در اج.یافتهها:
سرچاپ " از جستجوی"، ی.شماره جستجو، ی.سند
پایان
پایانمترادف و گزینش
موتور جستجو فقط واژههای سندهای شما را میشناسد. یک دستهی مترادف به آن یاد میدهد که بعضی واژهها یک معنی دارند، پس جستجوی داستان بلند کتابهایی را هم پیدا میکند که گونهشان رمان است. دستهی گزینش برای پرسشهایی است که بیشتر از همه برایتان مهماند: وقتی پرسشی با یک قاعده جور شود، قاعده میتواند سندهایی را در جای مشخصی سنجاق کند، سندهایی را پنهان کند، پالایه بیفزاید یا ترتیب را عوض کند. هر دو دسته یک بار ساخته میشوند و سپس به هر مجموعهای که باید از آنها استفاده کند وصل میشوند.
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
ناپایا واژهها := وکتور {} برگردان وکتور<رشته>
واژهها.بیفزا("رمان")
واژهها.بیفزا("داستان بلند")
ناپایا مترادفها := وکتور {} برگردان وکتور<تایپسنس.مترادف>
مترادفها.بیفزا(تایپسنس.مترادف { شناسه = "novel"، مترادفها = واژهها })
_ := تایپسنس.درج دسته مترادف(ک، "lesson_words"، مترادفها، خ)
ناپایا سنجاقها := وکتور {} برگردان وکتور<تایپسنس.سنجاق>
سنجاقها.بیفزا(تایپسنس.سنجاق { شناسه = "2"، جایگاه = ۱ })
ناپایا قاعدهها := وکتور {} برگردان وکتور<تایپسنس.قاعده گزینش>
قاعدهها.بیفزا(تایپسنس.قاعده گزینش { شناسه = "salouch-first"، پرسمان = "دولتآبادی"، نوع تطابق = تایپسنس.تطابق دقیق، سنجاقشدهها = سنجاقها })
_ := تایپسنس.درج دسته گزینش(ک، "lesson_rules"، قاعدهها، خ)
_ := تایپسنس.بهروزرسانی مجموعه(ک، "lesson_books"، `{"synonym_sets": ["lesson_words"], "curation_sets": ["lesson_rules"]}`، خ)
سرچاپ "داستان بلند"، تایپسنس.جستجو(ک، "lesson_books"، تایپسنس.جستجوی جدید("داستان بلند"، "genre")، خ).یافتشده، "کتاب پیدا میکند"
ن := تایپسنس.جستجو(ک، "lesson_books"، تایپسنس.جستجوی جدید("دولتآبادی"، "author")، خ)
سرچاپ "نخستین یافته:"، ن.یافتهها.بگیر(۰).سند، "گزینششده:"، ن.یافتهها.بگیر(۰).گزینششده
پایاننشانهی curated به صفحهی شما میگوید که یافته را یک قاعده جا داده، مثلاً برای نوشتن برچسب «پیشنهاد ویژه». یک جستجو میتواند قاعدهها را با تایپسنس.تنظیم پارامتر(ج، "enable_curations"، "false") خاموش کند. تایپسنس ۲۹ و قدیمیتر مترادفها و قاعدهها را به جای دسته، برای هر مجموعه جدا نگه میدارد؛ برای آن سرورها درج مترادف و درج بازنویسی را به کار ببرید.
کلیدی برای مرورگر
کلید مدیر هر کاری میتواند بکند، پس هرگز نباید به یک صفحهی وب برسد. کلید فقط جستجو کلیدی میسازد که فقط میتواند در مجموعههایی که نام میبرید جستجو کند. کلید محدود از این هم جلوتر میرود: کلید جستجوی محدود یک کلید جستجو را همراه پارامترهای جستجو امضا میکند، مثلاً پالایهای که هر کاربر را به دادهی خودش محدود میکند. این کلید در خود برنامه و بدون هیچ درخواستی به سرور ساخته میشود، و مرورگر نمیتواند پالایه را بردارد، چون هر تغییری امضا را خراب میکند.
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا مدیر := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(مدیر)
ناپایا خ := تایپسنس.خطا {}
ناپایا مجموعهها := وکتور {} برگردان وکتور<رشته>
مجموعهها.بیفزا("lesson_books")
کلید := تایپسنس.کلید فقط جستجو(مدیر، "website search"، مجموعهها، خ)
سرچاپ "کلید جستجو ساخته شد، اجازه دارد:"، کلید.کنشها.بگیر(۰)
محدود := تایپسنس.کلید جستجوی محدود(کلید.مقدار، تایپسنس.پارامترهای جستجو { فیلتر = "genre:=داستان" }، ۰)
ناپایا مرورگر := تایپسنس.جدید("http://localhost:8108"، محدود)
دیرکن تایپسنس.آزادسازی(مرورگر)
سرچاپ "مرورگر"، تایپسنس.جستجو(مرورگر، "lesson_books"، تایپسنس.جستجوی جدید("*"، "")، خ).یافتشده، "کتاب میبیند"
_ := تایپسنس.حذف سند(مرورگر، "lesson_books"، "1"، خ)
سرچاپ "و نمیتواند حذف کند:"، خ.وضعیت
_ := تایپسنس.حذف کلید(مدیر، کلید.شناسه، خ)
پایانوقتی کلید محدود را برای هر نشست جدا میدهید، زمان انقضا هم برایش بگذارید (آرگومان آخر، یک زمان یونیکس)، و کلیدهایی را که دیگر لازم ندارید با حذف کلید پاک کنید.
بردار و مکان
واژه تنها راه پیدا کردن چیزها نیست. فیلدی از نوع نقطه جغرافیایی عرض و طول جغرافیایی را نگه میدارد، و پالایهای مثل location:(35.70, 51.42, 2 km) فقط چیزهای نزدیک یک نقطه را نگه میدارد، و ترتیب بر پایهی همان نقطه نزدیکترین را اول میآورد. فیلد بردار (فیلد بردار) فهرستی از عددها را نگه میدارد که یک سند را توصیف میکند و معمولاً یک مدل یادگیری ماشین آن را ساخته، و vector_query سندهایی را پیدا میکند که بردارشان به بردار شما نزدیکتر است. با فیلد جاسازی خود تایپسنس بردارها را از متن فیلدهای دیگر میسازد.
واردسازی دیتابیس.تایپسنس
تابع ریشه:
ناپایا ک := تایپسنس.جدید("http://localhost:8108"، "xyz")
دیرکن تایپسنس.آزادسازی(ک)
ناپایا خ := تایپسنس.خطا {}
_ := تایپسنس.حذف مجموعه(ک، "lesson_places"، خ)
ناپایا طرح := تایپسنس.طرح { نام = "lesson_places" }
طرح.فیلدها.بیفزا(تایپسنس.فیلد جدید("name"، تایپسنس.نوع متن))
طرح.فیلدها.بیفزا(تایپسنس.فیلد جدید("location"، تایپسنس.نوع نقطه جغرافیایی))
طرح.فیلدها.بیفزا(تایپسنس.فیلد بردار("style"، ۲))
_ := تایپسنس.ساخت مجموعه(ک، طرح، خ)
ناپایا سندها := وکتور {} برگردان وکتور<رشته>
سندها.بیفزا(`{"name": "کافهی آرام کتابخانه", "location": [35.7019, 51.4223], "style": [0.9, 0.1]}`)
سندها.بیفزا(`{"name": "باشگاه پرسروصدا", "location": [35.6990, 51.4180], "style": [0.1, 0.9]}`)
سندها.بیفزا(`{"name": "چایخانهی باغ", "location": [35.8040, 51.4330], "style": [0.8, 0.2]}`)
_ := تایپسنس.درون ریزی سندها(ک، "lesson_places"، سندها، تایپسنس.گزینه های نوشتن {}، خ)
ناپایا نزدیک := تایپسنس.جستجوی جدید("*"، "")
نزدیک.فیلتر = "location:(35.7000, 51.4200, 2 km)"
نزدیک.ترتیب = "location(35.7000, 51.4200):asc"
نزدیک.فیلدهای شامل = "name"
هر ی در تایپسنس.جستجو(ک، "lesson_places"، نزدیک، خ).یافتهها:
سرچاپ "نزدیک:"، ی.سند، ی.فاصله جغرافیایی
پایان
ناپایا مانند := تایپسنس.جستجوی جدید("*"، "")
مانند.پرسمان برداری = "style:([1.0, 0.0], k: 2)"
مانند.فیلدهای شامل = "name"
هر ی در تایپسنس.جستجو(ک، "lesson_places"، مانند، خ).یافتهها:
سرچاپ "آرام:"، ی.سند
پایان
_ := تایپسنس.حذف مجموعه(ک، "lesson_places"، خ)
پایاندر محیط واقعی
- یک خوشهی تایپسنس چند گره دارد. نشانی همه را به
خوشه جدیدبدهید: گرهی که پاسخ ندهد به اندازهیhealthcheck_msکنار گذاشته میشود و درخواست به گره بعدی میرود.تنظیم نزدیکترین گرهگرهی را تعیین میکند که اول امتحان شود. - کارخواه را با فیلدهایش تنظیم کنید:
timeout_msبرای زمان یک درخواست، وretriesوretry_interval_msبرای اینکه چقدر تلاش کند. - در جستجوها نام مستعار را به کار ببرید، نه نام مجموعه را، تا بتوانید مجموعه را بی وقفه دوباره بسازید.
- با
ساخت تصویر لحظه ایپشتیبان بگیرید، سرور را باسلامت،آماروسنجه هازیر نظر داشته باشید، و کلیکها یا پرسشهای پرطرفدار را با قاعدههای تحلیل بشمارید (ساخت قاعده تحلیلوارسال رویداد). - برای مسیری که این بسته تابع جدا برایش ندارد،
درخواستهر روش و مسیری را با بدنهی JSON میفرستد.
همهی تابعها، نوعها و فیلدها با نمونهی خودشان در مرجع پایین همین صفحه آمدهاند. در مخزن هم برای هر ویژگی یک برنامهی کامل و آزموده به فارسی هست، در پروندههایی از tests/fa/db که نامشان با tslive_ex_ آغاز میشود.
گونهها
پارامترهای جستجو SearchParams
ساختار پارامترهای جستجوتنظیم پارامتر میرود.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| متن جستجو | q | رشته = "" | متنی که جستجو میشود؛ * با همهی سندها جور میشود. |
| فیلدهای جستجو | query_by | رشته = "" | فیلدهایی که جستجو میشوند، جداشده با ویرگول. |
| وزن فیلدهای جستجو | query_by_weights | رشته = "" | وزن هر فیلد در query_by، مثل 2,1. |
| نوع تطابق متن | text_match_type | رشته = "" | نحوهی ترکیب امتیاز فیلدها: max_score، max_weight یا sum_score. |
| پیشوند | prefix | رشته = "" | آیا آخرین واژه به عنوان پیشوند جور شود، برای هر فیلد یک مقدار مثل true,false. |
| میانوندی | infix | رشته = "" | جستجوی میانوندی برای هر فیلد: off، always یا fallback. |
| فیلتر | filter_by | رشته = "" | یک فیلتر، مثل year:>2000 && genre:=[scifi]. |
| ترتیب | sort_by | رشته = "" | ترتیب، مثل year:desc,_text_match:desc. |
| فیلدهای دستهبندی | facet_by | رشته = "" | فیلدهایی که مقدارهایشان شمرده میشود. |
| پرسمان دستهبندی | facet_query | رشته = "" | مقدارهای دستهبندی را محدود کن، مثل genre:sci. |
| بیشترین مقدار دستهبندی | max_facet_values | صحیح = 0 | تعداد مقدارهایی که هر دستهبندی برمیگرداند. |
| فیلدهای گروهبندی | group_by | رشته = "" | نتیجهها را بر اساس این فیلدها گروهبندی کن. |
| حد گروه | group_limit | صحیح = 0 | تعداد یافتههایی که هر گروه برمیگرداند. |
| فیلدهای شامل | include_fields | رشته = "" | فقط این فیلدها را برگردان. |
| فیلدهای مستثنی | exclude_fields | رشته = "" | این فیلدها را از نتیجهها کنار بگذار. |
| فیلدهای برجسته | highlight_fields | رشته = "" | فقط این فیلدها را برجسته کن. |
| فیلدهای برجسته کامل | highlight_full_fields | رشته = "" | کل مقدار این فیلدها را برجسته کن، نه فقط یک تکه. |
| برچسب ابتدای برجسته | highlight_start_tag | رشته = "" | برچسب پیش از هر تطابق؛ پیشفرض <mark> است. |
| برچسب انتهای برجسته | highlight_end_tag | رشته = "" | برچسب پس از هر تطابق. |
| آستانه گزیده | snippet_threshold | صحیح = 0 | فیلدهای کوتاهتر از این تعداد واژه کامل برجسته میشوند. |
| تعداد غلط املایی | num_typos | رشته = "" | تعداد غلطهای املایی مجاز در هر واژه، از ۰ تا ۲، برای هر فیلد یک مقدار. |
| آستانه غلط املایی | typo_tokens_threshold | صحیح = 0 | فقط وقتی کمتر از این تعداد نتیجه پیدا شد دنبال تطابق با غلط تایپی بگرد. |
| آستانه حذف واژه | drop_tokens_threshold | صحیح = 0 | فقط وقتی کمتر از این تعداد نتیجه پیدا شد واژههایی از پرسمان را کنار بگذار. |
| صفحه | page | صحیح = 0 | صفحه، از ۱. |
| اندازه صفحه | per_page | صحیح = 0 | یافتههای هر صفحه، تا ۲۵۰. |
| جابجایی | offset | صحیح = 0 | از این تعداد یافته بگذر؛ جایگزینی برای page. |
| حد | limit | صحیح = 0 | این تعداد یافته را برگردان؛ همراه offset به کار میرود. |
| یافتههای سنجاقشده | pinned_hits | رشته = "" | سندهایی را در جایگاههایی سنجاق کن، مثل 12:1,3:2. |
| یافتههای پنهان | hidden_hits | رشته = "" | شناسهی سندهایی که پنهان میشوند. |
| برچسبهای بازنویسی | override_tags | رشته = "" | فقط قاعدههای گزینشی را که این برچسبها را دارند اعمال کن. |
| پیشتنظیم | preset | رشته = "" | پارامترهای ذخیرهشده در این پیشتنظیم را به کار ببر. |
| پرسمان برداری | vector_query | رشته = "" | یک جستجوی نزدیکترین همسایه، مثل embedding:([0.1, 0.2], k: 10). |
| کلمات توقف | stopwords | رشته = "" | دستهی کلمات توقفی که اعمال میشود. |
| جستجوی کامل | exhaustive_search | منطقی = نادرست | همهی شکلهای پرسمان را در نظر بگیر؛ کندتر ولی کامل. |
| مهلت جستجو میلیثانیه | search_cutoff_ms | صحیح = 0 | پس از این چند میلیثانیه جستجو را متوقف کن و هر چه پیدا شده را برگردان. |
| استفاده از کش | use_cache | منطقی = نادرست | نتیجهها را روی سرور در حافظهی نهان نگه دار. |
| مدت کش | cache_ttl | صحیح = 0 | مدت نگهداری آنها در حافظهی نهان، به ثانیه. |
| گفتگو | conversation | منطقی = نادرست | به پرسمان با یک مدل گفتگو پاسخ بده (RAG). |
| شناسه گفتگو | conversation_id | رشته = "" | همین گفتگو را ادامه بده. |
| شناسه مدل گفتگو | conversation_model_id | رشته = "" | مدل گفتگویی که به کار میرود. |
| پرسمان زبان طبیعی | nl_query | منطقی = نادرست | پرسمان به زبان طبیعی را با یک مدل جستجوی زبانی به فیلتر و ترتیب تبدیل کن. |
| شناسه مدل زبان طبیعی | nl_model_id | رشته = "" | مدل جستجوی زبانی که به کار میرود. |
| نام پارامترها | keys | وکتور<رشته> | نام پارامترهایی که با تنظیم پارامتر افزوده شدهاند. |
| مقدارها | values | وکتور<رشته> | مقدارهای آنها. |
/*
* 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.وزن فیلدهای جستجو = "3,1"
p.فیلتر = "year:>1950 && genres:=[scifi]"
p.ترتیب = "_text_match:desc,year:desc"
p.فیلدهای دستهبندی = "genres,year"
p.بیشترین مقدار دستهبندی = 10
p.اندازه صفحه = 20
p.صفحه = 1
p.تعداد غلط املایی = "2,1"
p.برچسب ابتدای برجسته = "<b>"
p.برچسب انتهای برجسته = "</b>"
تایپسنس.تنظیم پارامتر(p، "prioritize_exact_match"، "false")
سرچاپ تایپسنس.متن پرسمان جستجو(p)
سرچاپ تایپسنس.جیسون پارامترهای جستجو(p)
r := تایپسنس.جستجو(ک، "books"، p، خ)
اگر وارونه تایپسنس.موفق(خ):
سرچاپ تایپسنس.متن خطا(خ)
برگشت 1
پایان
سرچاپ r.یافتشده، r.تعداد کل، r.صفحه، r.زمان جستجو میلیثانیه، r.قطع جستجو
هر h در r.یافتهها:
سرچاپ h.سند، h.امتیاز تطابق متن، h.گزینششده، تایپسنس.برجسته(h، "title")
سرچاپ h.برجسته، h.برجستهها، h.اطلاعات تطابق متن، h.فاصله برداری، h.فاصله جغرافیایی، h.اطلاعات جستجوی ترکیبی، h.خام.طول()
پایان
هر f در r.دستهبندیها:
چاپ f.نام فیلد، f.نمونهای، f.آمار، ":"
هر fc در f.شمارها:
چاپ " " + fc.مقدار + "=" + fc.تعداد + " " + fc.برجستهشده
پایان
سرچاپ ""
پایان
ناپایا books := وکتور {} برگردان وکتور<کتاب>
اگر تایپسنس.یافته ها به نوع(r، books، خ):
سرچاپ books.طول()
پایان
سرچاپ r.پارامترهای درخواست، r.خام.طول()
ناپایا g := تایپسنس.جستجوی جدید("*"، "")
g.فیلدهای گروهبندی = "genres"
g.حد گروه = 3
g.فیلدهای شامل = "id,title"
rg := تایپسنس.جستجو(ک، "books"، g، خ)
سرچاپ rg.یافتشده، rg.سندهای یافتشده
هر grp در rg.گروهها:
سرچاپ رشته.بپیوند(grp.کلید، ",")، grp.یافتشده، grp.یافتهها.طول()
پایان
ناپایا v := تایپسنس.جستجوی جدید("*"، "")
v.پرسمان برداری = "embedding:([0.12, 0.45, 0.87], k: 10)"
v.فیلدهای مستثنی = "embedding"
سرچاپ تایپسنس.جستجوی خام(ک، "books"، v، خ)
ناپایا rag := تایپسنس.جستجوی جدید("کدام کتابها دربارهی بیابان هستند؟"، "title_vector")
rag.گفتگو = درست
rag.شناسه مدل گفتگو = "books-assistant"
rag.شناسه گفتگو = ""
rag.پیشوند = "false"
rag.جستجوی کامل = درست
rag.مهلت جستجو میلیثانیه = 200
rag.استفاده از کش = درست
rag.مدت کش = 60
سرچاپ تایپسنس.جستجو(ک، "books"، rag، خ).گفتگو
ناپایا nl := تایپسنس.جستجوی جدید("کتابهای علمی تخیلی بعد از ۱۹۶۰ به ترتیب سال"، "title")
nl.پرسمان زبان طبیعی = درست
nl.شناسه مدل زبان طبیعی = "gpt-4o-nl"
سرچاپ تایپسنس.جستجو(ک، "books"، nl، خ).پرسمان تفسیرشده
ناپایا reqs := وکتور {} برگردان وکتور<تایپسنس.درخواست جستجو>
reqs.بیفزا(تایپسنس.درخواست جستجو { مجموعه = "books"، پارامترها = تایپسنس.جستجوی جدید("تلماسه"، "") })
reqs.بیفزا(تایپسنس.درخواست جستجو { مجموعه = "authors"، پارامترها = تایپسنس.جستجوی جدید("هربرت"، "name")، کلید دسترسی = "scoped-key" })
common := تایپسنس.جستجوی جدید(""، "title")
هر m در تایپسنس.جستجوی چندگانه(ک، reqs، common، خ):
سرچاپ m.یافتشده، m.کد، m.خطا
پایان
سرچاپ تایپسنس.جستجوی چندگانه خام(ک، reqs، common، خ).طول()
u := تایپسنس.جستجوی اجتماع(ک، reqs، common، خ)
هر h در u.یافتهها:
سرچاپ h.مجموعه، h.شماره جستجو، h.سند
پایان
ناپایا rr := تایپسنس.تجزیه نتیجه جستجو(`{"found": 0, "hits": []}`)
سرچاپ rr.یافتشده، rr.کد، rr.خطا، تایپسنس.بیشینه پرسمان دریافت
تایپسنس.آزادسازی نتیجه(rr)
پایاندرخواست جستجو SearchRequest
ساختار درخواست جستجو| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| مجموعه | collection | رشته = "" | مجموعهای که جستجو میشود. |
| پارامترها | params | پارامترهای جستجو | پارامترهای آن. |
| کلید دسترسی | api_key | رشته = "" | یک کلید API دیگر فقط برای همین جستجو، مثل یک کلید محدود. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
یافته Hit
ساختار یافته| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| سند | document | رشته = "" | سند، به شکل JSON. |
| امتیاز تطابق متن | text_match | صحیح۶۴ = 0 | امتیاز ارتباط متنی. |
| برجسته | highlight | رشته = "" | برجستهها به تفکیک فیلد، به شکل JSON؛ یکی را با برجسته بخوانید. |
| برجستهها | highlights | رشته = "" | برجستهها به شکل فهرست قدیمیتر، به شکل JSON. |
| اطلاعات تطابق متن | text_match_info | رشته = "" | چگونگی ساخته شدن امتیاز، به شکل JSON. |
| فاصله جغرافیایی | geo_distance_meters | رشته = "" | فاصله از نقطهی مرتبسازی جغرافیایی، به شکل JSON. |
| فاصله برداری | vector_distance | اعشار۶۴ = 0 | فاصله از بردار پرسمان. |
| اطلاعات جستجوی ترکیبی | hybrid_search_info | رشته = "" | چگونگی رتبهبندی آن در جستجوی ترکیبی، به شکل JSON. |
| گزینششده | curated | منطقی = نادرست | یک قاعدهی گزینش آن را در این جایگاه گذاشته است. |
| مجموعه | collection | رشته = "" | مجموعهای که از آن آمده، در جستجوی اجتماعی. |
| شماره جستجو | search_index | صحیح = 0 | کدام جستجوی جستجوی اجتماعی آن را پیدا کرد، از ۰. |
| خام | raw | رشته = "" | کل یافته، به شکل JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
شمار دسته FacetCount
ساختار شمار دسته| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| مقدار | value | رشته = "" | مقدار. |
| تعداد | count | صحیح۶۴ = 0 | تعداد یافتههایی که آن را دارند. |
| برجستهشده | highlighted | رشته = "" | مقدار با پرسمان دستهبندیِ برجستهشده. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
دسته Facet
ساختار دسته| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام فیلد | field_name | رشته = "" | فیلد. |
| شمارها | counts | وکتور<شمار دسته> | مقدارها، پرتکرارترین اول. |
| نمونهای | sampled | منطقی = نادرست | شمارها از روی یک نمونه تخمین زده شدهاند. |
| آمار | stats | رشته = "" | کمینه، بیشینه، مجموع و میانگین یک فیلد عددی، به شکل JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
گروه Group
ساختار گروهgroup_by یکسانی دارند.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| کلید | key | وکتور<رشته> | مقدارهایی که گروه را میسازند. |
| یافتشده | found | صحیح۶۴ = 0 | تعداد یافتههای گروه. |
| یافتهها | hits | وکتور<یافته> | یافتههای آن، تا group_limit. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
نتیجه جستجو SearchResult
ساختار نتیجه جستجو| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| یافتشده | found | صحیح۶۴ = 0 | تعداد سندهای جورشده، یا در گروهبندی تعداد گروهها. |
| سندهای یافتشده | found_docs | صحیح۶۴ = 0 | تعداد سندهای جورشده، در گروهبندی. |
| تعداد کل | out_of | صحیح۶۴ = 0 | تعداد سندهایی که جستجو شدند. |
| صفحه | page | صحیح = 0 | صفحه. |
| زمان جستجو میلیثانیه | search_time_ms | صحیح۶۴ = 0 | مدت زمان جستجو. |
| قطع جستجو | search_cutoff | منطقی = نادرست | جستجو در search_cutoff_ms متوقف شد. |
| یافتهها | hits | وکتور<یافته> | یافتهها. |
| گروهها | groups | وکتور<گروه> | گروهها، در گروهبندی. |
| دستهبندیها | facets | وکتور<دسته> | شمار دستهبندیها. |
| پارامترهای درخواست | request_params | رشته = "" | پارامترهایی که سرور به کار برد، به شکل JSON. |
| گفتگو | conversation | رشته = "" | پاسخ گفتگو، به شکل JSON. |
| پرسمان تفسیرشده | parsed_nl_query | رشته = "" | آنچه پرسمان زبان طبیعی به آن تبدیل شد، به شکل JSON. |
| کد | code | صحیح = 0 | در جستجوی چندگانه، وضعیت HTTP این جستجو وقتی شکست خورد. |
| خطا | error | رشته = "" | در جستجوی چندگانه، دلیل شکست این جستجو. |
| خام | raw | رشته = "" | کل پاسخ، به شکل JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
قاعده تحلیل AnalyticsRule
ساختار قاعده تحلیل| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام آن. |
| نوع | kind | رشته = "" | یکی از ثابتهای قاعده مثل قاعده شمارنده. |
| مجموعه | collection | رشته = "" | مجموعهای که رویدادهایش گردآوری میشود. |
| نوع رویداد | event_type | رشته = "" | یکی از ثابتهای رویداد مثل رویداد کلیک. |
| برچسب قاعده | rule_tag | رشته = "" | برچسبی برای فهرست کردن قاعدهها. |
| پارامترها | params | رشته = "" | پارامترهای قاعده، به شکل JSON، مثل {"destination_collection":"pq","limit":100}. |
| خام | raw | رشته = "" | کل قاعده، به شکل JSON؛ تنها جایی که قاعدهی تایپسنس ۲۹ مبدا و مقصدش را نگه میدارد. |
/*
* 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 := تایپسنس.قاعده تحلیل {
نام = "popular-searches"، نوع = تایپسنس.قاعده پرسمان های پرطرفدار، مجموعه = "books"، نوع رویداد = تایپسنس.رویداد جستجو،
پارامترها = `{"destination_collection": "popular_queries", "limit": 1000}`
}
سرچاپ تایپسنس.جیسون قاعده تحلیل(popular)
made := تایپسنس.ساخت قاعده تحلیل(ک، popular، خ)
سرچاپ made.نام، made.نوع، made.مجموعه، made.نوع رویداد، made.پارامترها
clicks := تایپسنس.قاعده تحلیل {
نام = "book-clicks"، نوع = تایپسنس.قاعده شمارنده، مجموعه = "books"، نوع رویداد = تایپسنس.رویداد کلیک،
برچسب قاعده = "homepage"، پارامترها = `{"destination_collection": "books", "counter_field": "popularity", "weight": 1}`
}
سرچاپ تایپسنس.درج قاعده تحلیل(ک، clicks، خ).برچسب قاعده
سرچاپ تایپسنس.ساخت قاعده تحلیل از جیسون(ک، `{"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"، خ).خام
هر r در تایپسنس.فهرست قاعده های تحلیل(ک، "homepage"، خ):
سرچاپ r.نام، r.نوع
پایان
سرچاپ تایپسنس.ارسال رویداد(ک، "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 := تایپسنس.مدل گفتگو {
شناسه = "books-assistant"، نام مدل = "openai/gpt-4o-mini"، کلید دسترسی = "sk-..."، مجموعه تاریخچه = "conversations"،
دستور سامانه = "تو از کاتالوگ ما کتاب پیشنهاد میکنی."، بیشترین بایت = 16384، مدت نگهداری = 86400، شناسه حساب = ""، نشانی سرور = ""، افزوده = ""
}
سرچاپ تایپسنس.جیسون مدل گفتگو(m)
سرچاپ تایپسنس.ساخت مدل گفتگو(ک، m، خ)
سرچاپ تایپسنس.دریافت مدل گفتگو(ک، "books-assistant"، خ)
سرچاپ تایپسنس.فهرست مدل های گفتگو(ک، خ).طول()
سرچاپ تایپسنس.بهروزرسانی مدل گفتگو(ک، "books-assistant"، تایپسنس.مدل گفتگو { دستور سامانه = "در یک جمله پاسخ بده." }، خ)
سرچاپ تایپسنس.حذف مدل گفتگو(ک، "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
ساختار مدل گفتگو| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | رشته = "" | شناسهی آن. |
| نام مدل | model_name | رشته = "" | مدل، مثل openai/gpt-4o. |
| کلید دسترسی | api_key | رشته = "" | کلید ارائهدهندهی مدل. |
| مجموعه تاریخچه | history_collection | رشته = "" | مجموعهای که تاریخچهی گفتگو را نگه میدارد. |
| دستور سامانه | system_prompt | رشته = "" | دستورهایی که به مدل داده میشود. |
| بیشترین بایت | max_bytes | صحیح = 0 | مقدار زمینهای که مدل دریافت میکند. |
| مدت نگهداری | ttl | صحیح = 0 | مدت نگهداری یک گفتگو، به ثانیه. |
| شناسه حساب | account_id | رشته = "" | شناسهی حساب، برای مدلهای Cloudflare. |
| نشانی سرور | vllm_url | رشته = "" | نشانی سرور، برای مدلهای vLLM. |
| افزوده | extra | رشته = "" | عضوهای بیشتر به شکل یک شیء JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
فیلد Field
ساختار فیلد| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام فیلد، یا یک عبارت باقاعده مثل .*_facet. |
| نوع | kind | رشته = "" | نوع آن، یکی از ثابتهای نوع فیلد مثل نوع متن. |
| دستهبندی | facet | منطقی = نادرست | مقدارهایش را برای دستهبندی بشمار و فیلتر دقیق را ممکن کن. |
| اختیاری | optional | منطقی = نادرست | سندها میتوانند آن را نداشته باشند. |
| نمایه | index | منطقی = درست | آن را برای جستجو و فیلتر نمایه کن؛ نادرست فقط ذخیرهاش میکند. |
| ذخیره | store | منطقی = درست | آن را روی دیسک نگه دار؛ نادرست بدون ذخیره کردن نمایهاش میکند. |
| مرتبسازی | sort | صحیح = 0 | ۱ آن را قابل مرتبسازی میکند، -1 غیر قابل مرتبسازی، و ۰ پیشفرض را نگه میدارد (عددها مرتب میشوند، متن نه). |
| میانوندی | infix | منطقی = نادرست | جورشدن در میانهی واژهها را ممکن کن. |
| منطقه زبانی | locale | رشته = "" | زبان متن، مثل fa یا en. |
| ریشهیابی | stem | منطقی = نادرست | واژهها را با ریشهشان جور کن. |
| واژهنامه ریشهیابی | stem_dictionary | رشته = "" | یک واژهنامهی ریشهیابی سفارشی که به کار میرود. |
| نمایه بازهای | range_index | منطقی = نادرست | آن را برای فیلترهای بازهای سریع نمایه کن. |
| ارجاع | reference | رشته = "" | پیوند به مجموعهای دیگر، به شکل collection.field. |
| ارجاع ناهمگام | async_reference | منطقی = نادرست | ارجاع به سندی را که هنوز وجود ندارد بپذیر. |
| تعداد بعد | num_dim | صحیح = 0 | اندازهی بردار، برای یک فیلد برداری float[]. |
| فاصله برداری | vec_dist | رشته = "" | فاصلهی برداری، cosine یا ip. |
| جاسازی | embed | رشته = "" | چگونگی ساخت خودکار بردار، به شکل JSON؛ فیلد جاسازی را ببینید. |
| جداکنندههای واژه | token_separators | وکتور<رشته> | نویسههای اضافهای که در این فیلد واژهها را از هم جدا میکنند. |
| نمادهای نمایهشده | symbols_to_index | وکتور<رشته> | نویسههای ویژهای که در این فیلد نگه داشته میشوند. |
| طول برش | truncate_len | صحیح = 0 | چند نویسه از یک رشتهی بلند نمایه شود. |
| حذف | drop | منطقی = نادرست | فیلد را در بهروزرسانی مجموعه حذف میکند؛ حذف فیلدها از آن استفاده میکند. |
| افزوده | extra | رشته = "" | عضوهای بیشتر به شکل یک شیء JSON، مثل {"hnsw_params":{"M":16}}. |
/*
* 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 := تایپسنس.طرح { نام = "books_v2"، فیلد مرتبسازی پیشفرض = "year"، فیلدهای تودرتو = درست }
s.فیلدها.بیفزا(تایپسنس.فیلد جدید("title"، تایپسنس.نوع متن))
s.فیلدها.بیفزا(تایپسنس.فیلد { نام = "title_fa"، نوع = تایپسنس.نوع متن، منطقه زبانی = "fa"، ریشهیابی = درست، اختیاری = درست })
s.فیلدها.بیفزا(تایپسنس.فیلد دسته بندی("year"، تایپسنس.نوع عدد۳۲))
s.فیلدها.بیفزا(تایپسنس.فیلد دسته بندی("genres"، تایپسنس.نوع آرایه متن))
s.فیلدها.بیفزا(تایپسنس.فیلد { نام = "price"، نوع = تایپسنس.نوع اعشاری، نمایه بازهای = درست })
s.فیلدها.بیفزا(تایپسنس.فیلد { نام = "isbn"، نوع = تایپسنس.نوع متن، نمایه = نادرست، اختیاری = درست })
s.فیلدها.بیفزا(تایپسنس.فیلد { نام = "author_id"، نوع = تایپسنس.نوع متن، ارجاع = "authors.id" })
s.فیلدها.بیفزا(تایپسنس.فیلد { نام = "location"، نوع = تایپسنس.نوع نقطه جغرافیایی، اختیاری = درست })
s.فیلدها.بیفزا(تایپسنس.فیلد بردار("embedding"، 384))
ناپایا from := وکتور {} برگردان وکتور<رشته>
from.بیفزا("title")
s.فیلدها.بیفزا(تایپسنس.فیلد جاسازی("title_vector"، from، "ts/all-MiniLM-L12-v2"))
s.فیلدها.بیفزا(تایپسنس.فیلد { نام = "meta.*"، نوع = تایپسنس.نوع خودکار، اختیاری = درست })
s.نمادهای نمایهشده.بیفزا("+")
s.جداکنندههای واژه.بیفزا("-")
s.فراداده = `{"owner": "کاتالوگ"}`
سرچاپ تایپسنس.جیسون طرح(s)
col := تایپسنس.ساخت مجموعه(ک، s، خ)
اگر تایپسنس.تداخل دارد(خ):
سرچاپ "books_v2 از قبل وجود دارد"
پایان
سرچاپ col.نام، col.تعداد سندها، col.زمان ساخت، col.فیلدها.طول()
هر f در col.فیلدها:
سرچاپ f.نام، f.نوع، f.دستهبندی، f.اختیاری، f.مرتبسازی، f.نمایه، f.ذخیره
پایان
اگر تایپسنس.مجموعه وجود دارد(ک، "books_v2"، خ):
سرچاپ تایپسنس.دریافت مجموعه(ک، "books_v2"، خ).فیلد مرتبسازی پیشفرض
پایان
هر x در تایپسنس.فهرست مجموعه ها(ک، خ):
سرچاپ x.نام، x.تعداد سندها
پایان
ناپایا 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.نام، a.نام مجموعه
سرچاپ تایپسنس.دریافت نام مستعار(ک، "books"، خ).نام مجموعه
هر al در تایپسنس.فهرست نام های مستعار(ک، خ):
سرچاپ al.نام، "->"، al.نام مجموعه
پایان
سرچاپ تایپسنس.رونوشت مجموعه(ک، "books_v2"، "books_v3"، خ).نام
سرچاپ تایپسنس.خالی کردن مجموعه(ک، "books_v3"، خ)
سرچاپ تایپسنس.حذف مجموعه(ک، "books_v3"، خ).نام
سرچاپ تایپسنس.حذف نام مستعار(ک، "old_books"، خ).نام
سرچاپ تایپسنس.ساخت مجموعه از جیسون(ک، `{"name": "authors", "fields": [{"name": "name", "type": "string"}]}`، خ).نام
سرچاپ تایپسنس.جیسون فیلد(تایپسنس.فیلد جدید("pages"، تایپسنس.نوع عدد۳۲))
سرچاپ تایپسنس.نوع متن ستاره، تایپسنس.نوع آرایه عدد۳۲، تایپسنس.نوع عدد۶۴، تایپسنس.نوع آرایه عدد۶۴، تایپسنس.نوع آرایه اعشاری
سرچاپ تایپسنس.نوع بولی، تایپسنس.نوع آرایه بولی، تایپسنس.نوع آرایه نقطه جغرافیایی، تایپسنس.نوع چندضلعی جغرافیایی
سرچاپ تایپسنس.نوع شیء، تایپسنس.نوع آرایه شیء، تایپسنس.نوع تصویر
پایانطرح Schema
ساختار طرحساخت مجموعه.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام مجموعه. |
| فیلدها | fields | وکتور<فیلد> | فیلدها. |
| فیلد مرتبسازی پیشفرض | default_sorting_field | رشته = "" | یک فیلد عددی که وقتی جستجو ترتیبی نمیدهد بر اساس آن مرتب میشود. |
| فیلدهای تودرتو | enable_nested_fields | منطقی = نادرست | فیلدهای شیء را ممکن کن. |
| جداکنندههای واژه | token_separators | وکتور<رشته> | نویسههای اضافهای که واژهها را از هم جدا میکنند. |
| نمادهای نمایهشده | symbols_to_index | وکتور<رشته> | نویسههای ویژهای که نگه داشته میشوند، مثل + برای C++. |
| دستههای مترادف | synonym_sets | وکتور<رشته> | دستههای مترادفی که این مجموعه به کار میبرد (تایپسنس ۳۰). |
| دستههای گزینش | curation_sets | وکتور<رشته> | دستههای گزینشی که این مجموعه به کار میبرد (تایپسنس ۳۰). |
| فراداده | metadata | رشته = "" | هر شیء JSON که همراه مجموعه نگه داشته شود. |
| مدل پرسمان صوتی | voice_query_model | رشته = "" | مدل گفتار به نوشتار برای جستجوی صوتی، به شکل JSON. |
| افزوده | extra | رشته = "" | عضوهای بیشتر به شکل یک شیء JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam
مجموعه Collection
ساختار مجموعه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام آن. |
| تعداد سندها | num_documents | صحیح۶۴ = 0 | تعداد سندهایی که دارد. |
| زمان ساخت | created_at | صحیح۶۴ = 0 | زمان ساختش، به صورت زمان یونیکس. |
| فیلد مرتبسازی پیشفرض | default_sorting_field | رشته = "" | فیلد پیشفرض مرتبسازی. |
| فیلدهای تودرتو | enable_nested_fields | منطقی = نادرست | آیا فیلدهای شیء مجازند. |
| فیلدها | fields | وکتور<فیلد> | فیلدهای آن، با همهی پیشفرضهای پرشده. |
| جداکنندههای واژه | token_separators | وکتور<رشته> | جداکنندههای اضافهی واژه. |
| نمادهای نمایهشده | symbols_to_index | وکتور<رشته> | نویسههای ویژهای که نگه میدارد. |
| دستههای مترادف | synonym_sets | وکتور<رشته> | دستههای مترادفی که به کار میبرد. |
| دستههای گزینش | curation_sets | وکتور<رشته> | دستههای گزینشی که به کار میبرد. |
| فراداده | metadata | رشته = "" | فرادادهی آن، به شکل JSON. |
| خام | raw | رشته = "" | کل پاسخ، به شکل JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam
نام مستعار Alias
ساختار نام مستعار| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام مستعار. |
| نام مجموعه | collection_name | رشته = "" | مجموعهای که به آن اشاره میکند. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam
مترادف Synonym
ساختار مترادف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | رشته = "" | شناسهی آن. |
| مترادفها | synonyms | وکتور<رشته> | واژهها. بدون ریشه همهشان یک معنی دارند. |
| واژه پایه | root | رشته = "" | اگر تعیین شود، جستجوی ریشه واژههای دیگر را هم پیدا میکند، ولی برعکس نه. |
| منطقه زبانی | locale | رشته = "" | زبان واژهها، مثل fa. |
| نمادهای نمایهشده | symbols_to_index | وکتور<رشته> | نویسههای ویژهای در واژهها که باید نگه داشته شوند. |
/*
* 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.بیفزا(تایپسنس.مترادف { شناسه = "books"، مترادفها = words })
set := تایپسنس.درج دسته مترادف(ک، "book-words"، items، خ)
سرچاپ set.نام، set.مترادفها.طول()
ناپایا one := وکتور {} برگردان وکتور<رشته>
one.بیفزا("جلدشومیز")
s := تایپسنس.مترادف { شناسه = "paper"، واژه پایه = "کتاب"، مترادفها = one، منطقه زبانی = "fa"، نمادهای نمایهشده = وکتور {} برگردان وکتور<رشته> }
سرچاپ تایپسنس.جیسون مترادف(s)
سرچاپ تایپسنس.درج مترادف دسته(ک، "book-words"، s، خ).واژه پایه
سرچاپ تایپسنس.دریافت مترادف دسته(ک، "book-words"، "paper"، خ).مترادفها.طول()
سرچاپ تایپسنس.فهرست مترادف های دسته(ک، "book-words"، خ).طول()، تایپسنس.دریافت دسته مترادف(ک، "book-words"، خ).مترادفها.طول()، تایپسنس.فهرست دسته های مترادف(ک، خ).طول()
سرچاپ تایپسنس.حذف مترادف دسته(ک، "book-words"، "paper"، خ)
سرچاپ تایپسنس.درج مترادف(ک، "books"، s، خ).شناسه
سرچاپ تایپسنس.دریافت مترادف(ک، "books"، "paper"، خ).واژه پایه، تایپسنس.فهرست مترادف ها(ک، "books"، خ).طول()
سرچاپ تایپسنس.حذف مترادف(ک، "books"، "paper"، خ)
ناپایا pins := وکتور {} برگردان وکتور<تایپسنس.سنجاق>
pins.بیفزا(تایپسنس.سنجاق { شناسه = "42"، جایگاه = 1 })
ناپایا hide := وکتور {} برگردان وکتور<رشته>
hide.بیفزا("13")
ناپایا tags := وکتور {} برگردان وکتور<رشته>
tags.بیفزا("summer-sale")
rule := تایپسنس.قاعده گزینش {
شناسه = "promote-dune"، پرسمان = "تلماسه"، نوع تطابق = تایپسنس.تطابق دقیق، سنجاقشدهها = pins، پنهانشدهها = hide،
فیلتر یافتههای سنجاقشده = درست، شروع اعتبار = 1924992000، فراداده = `{"campaign": "تابستان"}`
}
سرچاپ تایپسنس.جیسون گزینش(rule)
ناپایا rules := وکتور {} برگردان وکتور<تایپسنس.قاعده گزینش>
rules.بیفزا(rule)
rules.بیفزا(تایپسنس.قاعده گزینش {
شناسه = "sale"، برچسبها = tags، فیلتر قاعده = "on_sale:=true"، فیلتر = "stock:>0"، ترتیب = "price:asc"،
نوع تطابق = تایپسنس.تطابق شامل، پرسمان جایگزین = ""، حذف واژههای جورشده = درست، توقف پردازش = نادرست،
انتهای اعتبار = 1956528000، افزوده = ""
})
cs := تایپسنس.درج دسته گزینش(ک، "promotions"، rules، خ)
سرچاپ cs.نام، cs.قاعدهها.طول()
سرچاپ تایپسنس.درج قاعده دسته گزینش(ک، "promotions"، rule، خ).شناسه
سرچاپ تایپسنس.دریافت قاعده دسته گزینش(ک، "promotions"، "sale"، خ).ترتیب، تایپسنس.فهرست قاعده های دسته گزینش(ک، "promotions"، خ).طول()
سرچاپ تایپسنس.دریافت دسته گزینش(ک، "promotions"، خ).قاعدهها.طول()، تایپسنس.فهرست دسته های گزینش(ک، خ).طول()
سرچاپ تایپسنس.حذف قاعده دسته گزینش(ک، "promotions"، "sale"، خ)
سرچاپ تایپسنس.بهروزرسانی مجموعه(ک، "books"، `{"synonym_sets": ["book-words"], "curation_sets": ["promotions"]}`، خ)
سرچاپ تایپسنس.درج بازنویسی(ک، "books"، rule، خ).شناسه
سرچاپ تایپسنس.دریافت بازنویسی(ک، "books"، "promote-dune"، خ).پرسمان، تایپسنس.فهرست بازنویسی ها(ک، "books"، خ).طول()
سرچاپ تایپسنس.حذف بازنویسی(ک، "books"، "promote-dune"، خ)
ناپایا listing := تایپسنس.جستجوی جدید(""، "title,description")
listing.اندازه صفحه = 24
listing.ترتیب = "popularity:desc"
pr := تایپسنس.درج پیش تنظیم جستجو(ک، "listing"، listing، خ)
سرچاپ pr.نام، pr.مقدار
سرچاپ تایپسنس.درج پیش تنظیم(ک، "listing-raw"، `{"query_by": "title"}`، خ).مقدار
سرچاپ تایپسنس.دریافت پیش تنظیم(ک، "listing"، خ).مقدار
هر x در تایپسنس.فهرست پیش تنظیم ها(ک، خ):
سرچاپ x.نام
پایان
سرچاپ تایپسنس.حذف پیش تنظیم(ک، "listing-raw"، خ)
ناپایا sw := وکتور {} برگردان وکتور<رشته>
sw.بیفزا("و")
sw.بیفزا("از")
st := تایپسنس.درج کلمات توقف(ک، "persian"، sw، "fa"، خ)
سرچاپ st.شناسه، st.منطقه زبانی، st.کلمات توقف.طول()
سرچاپ تایپسنس.دریافت کلمات توقف(ک، "persian"، خ).کلمات توقف.طول()، تایپسنس.فهرست کلمات توقف(ک، خ).طول()
سرچاپ تایپسنس.حذف کلمات توقف(ک، "persian"، خ)
ناپایا stem := وکتور {} برگردان وکتور<تایپسنس.ریشه کلمه>
stem.بیفزا(تایپسنس.ریشه کلمه { واژه = "کتب"، واژه پایه = "کتاب" })
stem.بیفزا(تایپسنس.ریشه کلمه { واژه = "علوم"، واژه پایه = "علم" })
سرچاپ تایپسنس.درون ریزی واژه نامه ریشه یابی(ک، "irregular"، stem، خ)
سرچاپ تایپسنس.درون ریزی ریشه یابی جیسون خطی(ک، "irregular"، `{"word": "کلمات", "root": "کلمه"}`، خ)
d := تایپسنس.دریافت واژه نامه ریشه یابی(ک، "irregular"، خ)
سرچاپ d.شناسه، d.واژهها.طول()
سرچاپ تایپسنس.فهرست واژه نامه های ریشه یابی(ک، خ).طول()
سرچاپ تایپسنس.حذف واژه نامه ریشه یابی(ک، "irregular"، خ)
سرچاپ تایپسنس.حذف دسته گزینش(ک، "promotions"، خ)، تایپسنس.حذف دسته مترادف(ک، "book-words"، خ)
پایاندسته مترادف SynonymSet
ساختار دسته مترادف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام آن. |
| مترادفها | items | وکتور<مترادف> | مترادفها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
سنجاق Pin
ساختار سنجاق| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | رشته = "" | شناسهی سند. |
| جایگاه | position | صحیح = 0 | جایگاه، از ۱. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
قاعده گزینش CurationRule
ساختار قاعده گزینش| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | رشته = "" | شناسهی آن. |
| پرسمان | query | رشته = "" | متن پرسمانی که با آن جور میشود. |
| نوع تطابق | match_type | رشته = "" | تطابق دقیق یا تطابق شامل. |
| فیلتر قاعده | rule_filter_by | رشته = "" | وقتی جستجو این فیلتر را به کار ببرد قاعده را اعمال کن. |
| برچسبها | tags | وکتور<رشته> | وقتی جستجو یکی از این برچسبها را در override_tags بفرستد قاعده را اعمال کن. |
| سنجاقشدهها | includes | وکتور<سنجاق> | سندهایی که سنجاق میشوند. |
| پنهانشدهها | excludes | وکتور<رشته> | شناسهی سندهایی که پنهان میشوند. |
| فیلتر | filter_by | رشته = "" | فیلتری که به جستجو افزوده میشود. |
| ترتیب | sort_by | رشته = "" | ترتیبی که به جای ترتیب جستجو به کار میرود. |
| پرسمان جایگزین | replace_query | رشته = "" | پرسمانی که به جای پرسمان اصلی جستجو میشود. |
| حذف واژههای جورشده | remove_matched_tokens | منطقی = نادرست | واژههای جورشده را از پرسمان بردار. |
| فیلتر یافتههای سنجاقشده | filter_curated_hits | منطقی = نادرست | فیلتر جستجو را روی سندهای سنجاقشده هم اعمال کن. |
| توقف پردازش | stop_processing | منطقی = درست | وقتی این قاعده جور شد همینجا بایست؛ نادرست اجازه میدهد قاعدههای بعدی هم اعمال شوند. |
| شروع اعتبار | effective_from_ts | صحیح۶۴ = 0 | زمان یونیکسی که قاعده پیش از آن کاری نمیکند؛ ۰ یعنی همیشه. |
| انتهای اعتبار | effective_to_ts | صحیح۶۴ = 0 | زمان یونیکسی که قاعده پس از آن کاری نمیکند؛ ۰ یعنی هرگز. |
| فراداده | metadata | رشته = "" | هر شیء JSON که وقتی قاعده اعمال شد همراه نتیجهها برگردد. |
| افزوده | extra | رشته = "" | عضوهای بیشتر به شکل یک شیء JSON که همانطور که هستند در قاعده ادغام میشوند. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
دسته گزینش CurationSet
ساختار دسته گزینش| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام آن. |
| قاعدهها | items | وکتور<قاعده گزینش> | قاعدهها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
پیش تنظیم Preset
ساختار پیش تنظیمپارامترهای جستجو.preset به کار میروند.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| نام | name | رشته = "" | نام آن. |
| مقدار | value | رشته = "" | پارامترها، به شکل JSON. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
کلمات توقف Stopwords
ساختار کلمات توقف| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | رشته = "" | شناسهی آن که در پارامترهای جستجو.stopwords به کار میرود. |
| کلمات توقف | stopwords | وکتور<رشته> | واژهها. |
| منطقه زبانی | locale | رشته = "" | زبانشان. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
ریشه کلمه StemWord
ساختار ریشه کلمه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| واژه | word | رشته = "" | واژه. |
| واژه پایه | root | رشته = "" | ریشهی آن. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
واژه نامه ریشه یابی StemmingDictionary
ساختار واژه نامه ریشه یابیفیلد.stem_dictionary به کار میرود.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | رشته = "" | شناسهی آن. |
| واژهها | words | وکتور<ریشه کلمه> | واژهها. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
مشخصات کلید KeySpec
ساختار مشخصات کلید| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| توضیح | description | رشته = "" | کاربرد کلید. |
| کنشها | actions | وکتور<رشته> | کارهایی که اجازه دارد، مثل documents:search یا *. |
| مجموعهها | collections | وکتور<رشته> | مجموعههایی که میتواند به کار ببرد؛ * برای همه، و الگوهایی مثل org_.* هم کار میکنند. |
| زمان انقضا | expires_at | صحیح۶۴ = 0 | زمان یونیکسی که از کار میافتد؛ ۰ یعنی هرگز. |
| مقدار | value | رشته = "" | متن کلید؛ اگر خالی باشد سرور خودش یکی میسازد. |
| حذف خودکار | autodelete | منطقی = نادرست | کلید پس از انقضا حذف شود. |
/*
* 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.شناسه، search.مقدار، search.کنشها.طول()، search.مجموعهها.بگیر(0)
ناپایا actions := وکتور {} برگردان وکتور<رشته>
actions.بیفزا("documents:*")
actions.بیفزا("collections:get")
ناپایا orgs := وکتور {} برگردان وکتور<رشته>
orgs.بیفزا("org_.*")
spec := تایپسنس.مشخصات کلید { توضیح = "نویسندهی مستاجرها"، کنشها = actions، مجموعهها = orgs، زمان انقضا = 1924992000، حذف خودکار = درست }
سرچاپ تایپسنس.جیسون مشخصات کلید(spec)
k := تایپسنس.ساخت کلید(ک، spec، خ)
سرچاپ k.مقدار، k.زمان انقضا، k.حذف خودکار
ناپایا all := وکتور {} برگردان وکتور<رشته>
all.بیفزا(تایپسنس.کنش کلید همه)
admin := تایپسنس.ساخت کلید(ک، تایپسنس.مشخصات کلید { توضیح = "مدیر"، کنشها = all، مجموعهها = all، مقدار = "my-chosen-admin-key" }، خ)
سرچاپ admin.شناسه
g := تایپسنس.دریافت کلید(ک، k.شناسه، خ)
سرچاپ g.پیشوند مقدار، g.توضیح
هر key در تایپسنس.فهرست کلیدها(ک، خ):
سرچاپ key.شناسه، key.پیشوند مقدار، key.توضیح، key.کنشها.طول()، key.مجموعهها.طول()، key.زمان انقضا
پایان
سرچاپ تایپسنس.حذف کلید(ک، k.شناسه، خ)
scope := تایپسنس.پارامترهای جستجو { فیلتر = "company_id:=124"، فیلدهای مستثنی = "salary" }
scoped := تایپسنس.کلید جستجوی محدود(search.مقدار، scope، 1924992000)
سرچاپ scoped
سرچاپ تایپسنس.ساخت کلید جستجوی محدود(search.مقدار، `{"filter_by":"user_id:=42"}`)
ناپایا browser := تایپسنس.جدید("https://search.example.com"، scoped)
دیرکن تایپسنس.آزادسازی(browser)
سرچاپ تایپسنس.جستجو(browser، "books"، تایپسنس.جستجوی جدید("تلماسه"، "title")، خ).یافتشده
سرچاپ تایپسنس.کنش کلید جستجو
پایانکلید Key
ساختار کلید| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| شناسه | id | صحیح۶۴ = 0 | شناسهی آن. |
| مقدار | value | رشته = "" | متن کامل کلید؛ فقط هنگام ساخت کلید برگردانده میشود. |
| پیشوند مقدار | value_prefix | رشته = "" | چند نویسهی اول کلید، که هنگام خواندن دوبارهی آن برگردانده میشود. |
| توضیح | description | رشته = "" | کاربرد آن. |
| کنشها | actions | وکتور<رشته> | کارهایی که اجازه دارد. |
| مجموعهها | collections | وکتور<رشته> | مجموعههایی که میتواند به کار ببرد. |
| زمان انقضا | expires_at | صحیح۶۴ = 0 | زمان از کار افتادنش، به صورت زمان یونیکس. |
| حذف خودکار | autodelete | منطقی = نادرست | آیا پس از انقضا حذف میشود. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam
کلاینت Client
ساختار کلاینتجدید یا خوشه جدید بسازیدش و با آزادسازی آزادش کنید.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| گرهها | nodes | وکتور<رشته> | نشانی گرهها، مثل http://localhost:8108؛ مسیری که بعد از میزبان بیاید به عنوان پیشوند نگه داشته میشود. |
| نزدیکترین | nearest | رشته = "" | گرهی که پیش از بقیه امتحان میشود، مثلا گره همان منطقه؛ خالی یعنی هیچ. |
| کلید دسترسی | api_key | رشته = "" | کلیدی که در سرآیند X-TYPESENSE-API-KEY فرستاده میشود. |
| مهلت میلیثانیه | timeout_ms | صحیح = 10000 | بیشترین زمان یک درخواست، به میلیثانیه؛ ۰ یعنی بینهایت صبر کن. |
| تعداد کوشش | retries | صحیح = 3 | چند بار دیگر بعد از شکست یک گره تلاش شود. |
| فاصله کوشش میلیثانیه | retry_interval_ms | صحیح = 100 | مکث میان دو تلاش، به میلیثانیه. |
| بازه سلامتسنجی میلیثانیه | healthcheck_ms | صحیح = 60000 | مدتی که گره شکستخورده کنار گذاشته میشود، به میلیثانیه. |
| سرآیندها | headers | وکتور<رشته> | سطرهای سرآیند اضافه که با افزودن سرصفحه افزوده شدهاند. |
| وضعیت | state | وکتور<صحیح۶۴> | داخلی: جایگاه چرخشی و زمانی که هر گره دوباره میتواند امتحان شود. |
/*
* 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")
ک.مهلت میلیثانیه = 5000
ک.تعداد کوشش = 2
ک.فاصله کوشش میلیثانیه = 200
ک.بازه سلامتسنجی میلیثانیه = 30000
ناپایا خ := تایپسنس.خطا {}
اگر وارونه تایپسنس.سلامت(ک، خ):
سرچاپ "آماده نیست: " + تایپسنس.متن خطا(خ)
برگشت 1
پایان
سرچاپ تایپسنس.سالم است(ک)، تایپسنس.گره سالم است(ک، 0)، تایپسنس.گره سالم است(ک، -1)
سرچاپ "نسخهی سرور"، تایپسنس.نسخه سرور(ک، خ)، تایپسنس.اشکال زدایی(ک، خ)
st := تایپسنس.وضعیت(ک، خ)
سرچاپ st.وضعیت، st.اندیس ثبتشده، st.نوشتنهای صفشده
سرچاپ تایپسنس.آمار(ک، خ)
سرچاپ تایپسنس.سنجه ها(ک، خ)
سرچاپ تایپسنس.ساخت تصویر لحظه ای(ک، "/data/snapshots/today"، خ)
سرچاپ تایپسنس.رای گیری(ک، خ)، تایپسنس.پاک کردن حافظه نهان(ک، خ)، تایپسنس.فشرده سازی پایگاه(ک، خ)، تایپسنس.بازنشانی همتاها(ک، خ)
سرچاپ تایپسنس.تغییرات طرح(ک، خ).طول()
سرچاپ تایپسنس.تنظیم گزارش درخواست کند(ک، 1000، خ)، تایپسنس.بهروزرسانی پیکربندی(ک، `{"healthy-read-lag": 1000}`، خ)
body := تایپسنس.درخواست(ک، "GET"، "/collections?limit=1"، ""، خ)
اگر وارونه تایپسنس.موفق(خ):
سرچاپ خ.وضعیت، خ.نوع، خ.پیام
سرچاپ خ.نوع == تایپسنس.نوع اچ تی تی پی، خ.نوع == تایپسنس.نوع شبکه، خ.نوع == تایپسنس.نوع نامعتبر، خ.نوع == تایپسنس.نوع رمزگشایی
سرچاپ تایپسنس.پیدا نشد(خ)، تایپسنس.تداخل دارد(خ)
برگشت 1
پایان
سرچاپ body
سرچاپ تایپسنس.درخواست با نوع(ک، "POST"، "/stemming/dictionaries/import?id=plurals"، "text/plain"، `{"word":"کتب","root":"کتاب"}`، خ)
سرچاپ تایپسنس.نسخه کلاینت، ک.گرهها.طول()، ک.نزدیکترین، ک.کلید دسترسی.طول()، ک.سرآیندها.طول()، ک.وضعیت.طول()
single := تایپسنس.جدید("localhost:8108"، "admin-key")
سرچاپ single.گرهها.بگیر(0)
پایانخطا Error
ساختار خطا| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| وضعیت | status | صحیح = 0 | وضعیت HTTP، یا ۰ وقتی پاسخی نیامد. |
| نوع | kind | رشته = "" | یکی از ثابتهای نوع خطا مثل نوع شبکه، یا خالی وقتی فراخوانی موفق بود. |
| پیام | message | رشته = "" | پیام سرور، یا شرحی از شکست. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
وضعیت خوشه ClusterStatus
ساختار وضعیت خوشه| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| وضعیت | state | رشته = "" | LEADER، FOLLOWER یا یک وضعیت دیگر raft. |
| اندیس ثبتشده | committed_index | صحیح۶۴ = 0 | آخرین اندیس ثبتشدهی raft. |
| نوشتنهای صفشده | queued_writes | صحیح۶۴ = 0 | نوشتنهایی که در صف اعمال ماندهاند. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
گزینه های نوشتن WriteOptions
ساختار گزینه های نوشتن| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| کنش | action | رشته = "" | یکی از ثابتهای کنش مثل کنش درج؛ خالی یعنی ساخت. |
| مقدارهای ناپاک | dirty_values | رشته = "" | یکی از ثابتهای مقدار ناپاک مثل ناپاک رد. |
| اندازه دسته | batch_size | صحیح = 0 | تعداد سندهایی که سرور هنگام درونریزی یکجا نمایه میکند. |
| بازگرداندن شناسه | return_id | منطقی = نادرست | شناسهی هر سند را در نتیجهی درونریزی بیاور. |
| بازگرداندن سند | return_doc | منطقی = نادرست | خود هر سند را در نتیجهی درونریزی بیاور. |
| اندازه دسته جاسازی دور | remote_embedding_batch_size | صحیح = 0 | تعداد سندهایی که یکجا به مدل جاسازی راه دور فرستاده میشوند. |
/*
* 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"}`، تایپسنس.گزینه های نوشتن { کنش = تایپسنس.کنش درج، مقدارهای ناپاک = تایپسنس.ناپاک تبدیل با کنار }، خ)
سرچاپ تایپسنس.دریافت سند(ک، "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، تایپسنس.گزینه های نوشتن { کنش = تایپسنس.کنش درج، اندازه دسته = 100، بازگرداندن شناسه = درست }، خ)
سرچاپ r.موفق، r.ناموفق، r.شناسهها.طول()، r.سندها.طول()، r.سطرها.طول()
هر e در r.خطاها:
سرچاپ e.سطر، e.شناسه، e.کد، e.خطا، e.سند
پایان
ناپایا docs := وکتور {} برگردان وکتور<رشته>
docs.بیفزا(`{"id": "7", "title": "ترغیب", "year": 1817}`)
docs.بیفزا(`{"id": "8", "title": "والدن", "year": "1854"}`)
r2 := تایپسنس.درون ریزی سندها(ک، "books"، docs، تایپسنس.گزینه های نوشتن { کنش = تایپسنس.کنش ساخت، مقدارهای ناپاک = تایپسنس.ناپاک رد، بازگرداندن سند = درست }، خ)
سرچاپ r2.موفق، r2.ناموفق
r3 := تایپسنس.درون ریزی جیسون خطی(ک، "books"، "{\"id\": \"9\", \"title\": \"اِما\"}\n"، تایپسنس.گزینه های نوشتن { کنش = تایپسنس.کنش بهروزرسانی، اندازه دسته جاسازی دور = 50 }، خ)
سرچاپ r3.موفق، تایپسنس.کنش جایگذاری، تایپسنس.ناپاک کنار گذاشتن
سرچاپ تایپسنس.بهروزرسانی با پالایه(ک، "books"، "year:<1900"، `{"classic": true}`، خ)
سرچاپ تایپسنس.حذف با پالایه(ک، "books"، "year:<1700"، 500، خ)
سرچاپ تایپسنس.حذف سند(ک، "books"، "9"، خ)
lines := تایپسنس.برون بری سندها(ک، "books"، تایپسنس.گزینه های برون بری { فیلتر = "year:>1800"، فیلدهای شامل = "id,title,year"، فیلدهای مستثنی = "" }، خ)
ناپایا back := وکتور {} برگردان وکتور<کتاب>
اگر تایپسنس.رمزگشایی سندها(lines، back، خ):
سرچاپ back.طول()
پایان
ناپایا one := کتاب {}
سرچاپ تایپسنس.رمزگشایی سند(`{"id": "1", "title": "تلماسه", "year": 1965}`، one، خ)، one.title
سرچاپ تایپسنس.برون بری جیسون خطی(ک، "books"، تایپسنس.گزینه های برون بری {}، خ).طول()
پایانخطای درون ریزی ImportError
ساختار خطای درون ریزی| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| سطر | line | صحیح = 0 | جایگاه آن در درونریزی، از ۰. |
| شناسه | id | رشته = "" | شناسهی سند، وقتی return_id روشن بود. |
| کد | code | صحیح = 0 | وضعیت HTTP این سطر، مثل ۴۰۰ یا ۴۰۹. |
| خطا | error | رشته = "" | دلیل شکست. |
| سند | document | رشته = "" | متن سند، وقتی return_doc روشن بود. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
نتیجه درون ریزی ImportResult
ساختار نتیجه درون ریزیfailed را بررسی کنید.| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| موفق | success | صحیح = 0 | تعداد سندهایی که نوشته شدند. |
| ناموفق | failed | صحیح = 0 | تعداد سندهایی که نوشته نشدند. |
| شناسهها | ids | وکتور<رشته> | شناسهی سندهای نوشتهشده، با return_id. |
| سندها | documents | وکتور<رشته> | سندهای نوشتهشده، با return_doc. |
| خطاها | errors | وکتور<خطای درون ریزی> | سطرهایی که شکست خوردند. |
| سطرها | lines | وکتور<رشته> | سطر خام نتیجهی هر سند. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
گزینه های برون بری ExportOptions
ساختار گزینه های برون بری| نام | انگلیسی | گونه | توضیح |
|---|---|---|---|
| فیلتر | filter_by | رشته = "" | یک فیلتر، مثل year:>2000؛ خالی یعنی همه. |
| فیلدهای شامل | include_fields | رشته = "" | فقط این فیلدها را برونبری کن، جداشده با ویرگول. |
| فیلدهای مستثنی | exclude_fields | رشته = "" | این فیلدها را کنار بگذار، جداشده با ویرگول. |
نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
پایاها و متغیرها
بیشینه پرسمان دریافت MAX_GET_QUERY
پایا بیشینه پرسمان دریافت: صحیح۳۲ = 4000/multi_search فرستاده میشود، چون سرورها طول نشانی را محدود میکنند.نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
قاعده پرسمان های پرطرفدار RULE_POPULAR_QUERIES
پایا قاعده پرسمان های پرطرفدار: رشته = "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
رویداد جستجو EVENT_SEARCH
پایا رویداد جستجو: رشته = "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
نوع متن 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"نمونهی این مورد همراه با موارد بالاتر آمده است: 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
کنش کلید همه KEY_ACTION_ALL
پایا کنش کلید همه: رشته = "*"نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam
کنش کلید جستجو KEY_ACTION_SEARCH
پایا کنش کلید جستجو: رشته = "documents:search"نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam
نسخه کلاینت VERSION
پایا نسخه کلاینت: رشته = "1.0.0"نمونهی این مورد همراه با موارد بالاتر آمده است: 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
کنش ساخت 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
تابعها
جستجوی جدید 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: پارامترهای جستجو): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
تجزیه نتیجه جستجو ParseSearchResult
تابع تجزیه نتیجه جستجو(body: رشته): نتیجه جستجونمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
جستجوی خام SearchRaw
تابع جستجوی خام(c: کلاینت، collection: رشته، p: پارامترهای جستجو، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
جستجو Search
تابع جستجو(c: کلاینت، collection: رشته، p: پارامترهای جستجو، err &: خطا): نتیجه جستجونمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Search.salam
جستجوی چندگانه خام MultiSearchRaw
تابع جستجوی چندگانه خام(c: کلاینت، searches: وکتور<درخواست جستجو>، common: پارامترهای جستجو، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: 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
جیسون قاعده تحلیل AnalyticsRuleJSON
تابع جیسون قاعده تحلیل(r: قاعده تحلیل): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
ساخت قاعده تحلیل از جیسون CreateAnalyticsRuleJSON
تابع ساخت قاعده تحلیل از جیسون(c: کلاینت، rule: رشته، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
درج قاعده تحلیل از جیسون UpsertAnalyticsRuleJSON
تابع درج قاعده تحلیل از جیسون(c: کلاینت، name: رشته، rule: رشته، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
ارسال رویداد SendEvent
تابع ارسال رویداد(c: کلاینت، name: رشته، event_type: رشته، data: رشته، err &: خطا): منطقی{"doc_id":"1","user_id":"u1"}، برای قاعدهای با این نام میفرستد.نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
دریافت رویدادها GetEvents
تابع دریافت رویدادها(c: کلاینت، user_id: رشته، name: رشته، n: صحیح، err &: خطا): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
تخلیه تحلیل FlushAnalytics
تابع تخلیه تحلیل(c: کلاینت، err &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
وضعیت تحلیل AnalyticsStatus
تابع وضعیت تحلیل(c: کلاینت، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
جیسون مدل گفتگو ConversationModelJSON
تابع جیسون مدل گفتگو(m: مدل گفتگو): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
ساخت مدل گفتگو CreateConversationModel
تابع ساخت مدل گفتگو(c: کلاینت، m: مدل گفتگو، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
دریافت مدل گفتگو GetConversationModel
تابع دریافت مدل گفتگو(c: کلاینت، id: رشته، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
فهرست مدل های گفتگو ListConversationModels
تابع فهرست مدل های گفتگو(c: کلاینت، err &: خطا): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
دریافت مدل جستجوی زبانی GetNLSearchModel
تابع دریافت مدل جستجوی زبانی(c: کلاینت، id: رشته، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
فهرست مدل های جستجوی زبانی ListNLSearchModels
تابع فهرست مدل های جستجوی زبانی(c: کلاینت، err &: خطا): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
بهروزرسانی مدل جستجوی زبانی UpdateNLSearchModel
تابع بهروزرسانی مدل جستجوی زبانی(c: کلاینت، id: رشته، model: رشته، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.salam
حذف مدل جستجوی زبانی DeleteNLSearchModel
تابع حذف مدل جستجوی زبانی(c: کلاینت، id: رشته، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateAnalyticsRule.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: فیلد): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam
جیسون طرح SchemaJSON
تابع جیسون طرح(s: طرح): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam
ساخت مجموعه CreateCollection
تابع ساخت مجموعه(c: کلاینت، schema: طرح، err &: خطا): مجموعهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateCollection.salam
ساخت مجموعه از جیسون CreateCollectionJSON
تابع ساخت مجموعه از جیسون(c: کلاینت، schema: رشته، err &: خطا): مجموعهنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: 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: مترادف): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-UpsertSynonymSet.salam
جیسون گزینش CurationJSON
تابع جیسون گزینش(r: قاعده گزینش): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): پیش تنظیمنمونهی این مورد همراه با موارد بالاتر آمده است: 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
جیسون مشخصات کلید KeySpecJSON
تابع جیسون مشخصات کلید(spec: مشخصات کلید): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam
ساخت کلید CreateKey
تابع ساخت کلید(c: کلاینت، spec: مشخصات کلید، err &: خطا): کلید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: رشته): رشتهfilter_by و expires_at، روی هر جستجویی که با آن انجام شود اعمال میشوند و مرورگر نمیتواند تغییرشان دهد.نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.salam
کلید جستجوی محدود ScopedSearchKey
تابع کلید جستجوی محدود(search_key: رشته، p: پارامترهای جستجو، expires_at: صحیح۶۴): رشتهساخت کلید جستجوی محدود با پارامترهایی که از یک پارامترهای جستجو گرفته میشوند؛ ۰ یعنی بدون انقضا.نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-CreateKey.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 &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
سنجه ها Metrics
تابع سنجه ها(c: کلاینت، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
وضعیت Status
تابع وضعیت(c: کلاینت، err &: خطا): وضعیت خوشهنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
تغییرات طرح SchemaChanges
تابع تغییرات طرح(c: کلاینت، err &: خطا): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
بهروزرسانی پیکربندی UpdateConfig
تابع بهروزرسانی پیکربندی(c: کلاینت، config: رشته، err &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.salam
تنظیم گزارش درخواست کند SetSlowRequestLog
تابع تنظیم گزارش درخواست کند(c: کلاینت، millis: صحیح، err &: خطا): منطقی-1 گزارش را خاموش میکند.نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-Client.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 &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): نتیجه درون ریزینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
درون ریزی سندها ImportDocuments
تابع درون ریزی سندها(c: کلاینت، collection: رشته، documents: وکتور<رشته>، opts: گزینه های نوشتن، err &: خطا): نتیجه درون ریزینمونهی این مورد همراه با موارد بالاتر آمده است: 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 &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
دریافت سند به نوع GetDocumentAs
تابع دریافت سند به نوع<T>(c: کلاینت، collection: رشته، id: رشته، out &: T، err &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
رمزگشایی سندها DecodeDocuments
تابع رمزگشایی سندها<T>(documents: وکتور<رشته>، out &: وکتور<T>، err &: خطا): منطقینمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
برون بری جیسون خطی ExportJSONL
تابع برون بری جیسون خطی(c: کلاینت، collection: رشته، opts: گزینه های برون بری، err &: خطا): رشتهنمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam
برون بری سندها ExportDocuments
تابع برون بری سندها(c: کلاینت، collection: رشته، opts: گزینه های برون بری، err &: خطا): وکتور<رشته>نمونهی این مورد همراه با موارد بالاتر آمده است: db-typesense-ImportDocuments.salam