অনুসন্ধান
এটি চেষ্টা করুন
একটি ক্ষেত্র, সকল ধরনের ফলাফল। পৃষ্ঠার নাম রাউটার থেকে আসে এবং এর জন্য কোন ঘোষণা প্রয়োজন নেই; রেকর্ডগুলি নীচের বৈশিষ্ট্য বহনকারী সত্তাগুলির থেকে আসে। প্রতিটি ফলাফল নির্দেশ করে এটি কোথায় যাবে, তাই বারের কাছে ক্লিকের অর্থ সম্পর্কে কিছু সিদ্ধান্ত নিতে হয় না।
প্রদানকারী
একটি প্রদানকারী হল খোঁজার জন্য উক্ত জিনিসের একটি পরিবার। ইন্টারফেসটি বাস্তবায়ন করা হল পুরো নিবন্ধন — স্বয়ংক্রিয় কনফিগারেশন এটি চিহ্নিত করে, তাই একটি অ্যাপ্লিকেশনে লেখা একটি প্রদানকারী বিদ্যমান থেকে অনুসন্ধানে যোগ দেয়। এখানে উত্তর দেওয়া হয়, একটি প্রশ্ন নামের মাধ্যমে এটি সীমাবদ্ধ।
-
entity
Wexample\SymfonySearch\Class\Provider\EntitySearchProvider
-
route
Wexample\SymfonySearch\Class\Provider\RouteSearchProvider
class CommandSearchProvider extends AbstractSearchProvider
{
public function provide(SearchQuery $query): iterable
{
// yield $this->createResult($reference, $title)->setScore($score);
}
}
অনুসন্ধানযোগ্য সত্তা
শ্রেণী বলে একটি সত্তা খুঁজে পাওয়া যায়; এর বৈশিষ্ট্যগুলি বলে এটি কী, প্রতিটি এর প্রকার অনুযায়ী — একটি শিরোনাম পড়া হয়, একটি পরিমাণ একটি সংখ্যা, একটি ঠিকানা পুরো বা কিছু নয় — এবং প্রকার উভয় SQL এবং পয়েন্ট নির্ধারণ করে। ঐতিহ্যের সাতটি স্কোরিং ফাংশনের ছয়টি সেই তালিকা গোপনে ছিল। সপ্তমটি যুক্তি দিয়েছে, এবং সেটি একটি স্কোরিং শ্রেণী নামকরণ করে; যে সত্তার উত্তর নির্ভর করে কে জিজ্ঞাসা করছে, সে প্রদানকারী: সত্য যুক্ত করে এবং তার নিজস্ব একটি প্রদানকারী পায়।
-
contact
Wexample\SymfonyOrganization\Entity\Contact
ক্ষেত্রগুলি : name (text), email (email) -
demo_message
Wexample\SymfonyDesignSystemDemo\Entity\DemoMessage
ক্ষেত্রগুলি : body (text, 5) -
demo_room
Wexample\SymfonyDesignSystemDemo\Entity\DemoRoom
ক্ষেত্রগুলি : name (text) -
demo_user
Wexample\SymfonyUserDemo\Entity\DemoUser
ক্ষেত্রগুলি : email (email), username (text), firstName (text), lastName (text) -
organization
Wexample\SymfonyOrganization\Entity\Organization
ক্ষেত্রগুলি : name (text), vatNumber (text), legalIdentifier (text), email (email)
#[ORM\Entity]
#[Searchable(route: 'app_invoice_show')]
class Invoice extends AbstractEntity
{
#[SearchText]
protected string $label;
#[SearchAmount(points: 40)]
protected float $priceTotal;
}
এপিআই
একটি ফলাফল একটি সত্তা, তাই এর এন্ডপয়েন্ট হল সেই সত্তার সংগ্রহ এবং আর কিছু নয়। একই PHP শ্রেণী থেকে তৈরি TypeScript রিপোজিটরি এটি কোথায় তা বলা ছাড়াই কল করে — যা উপরের ক্ষেত্রটি ব্যবহার করে।
প্রশ্নের প্যারামিটার
- search
কী খুঁজে বের করা হচ্ছে। একটি খালি প্রশ্ন কিছু উত্তর দেয় না বরং সবকিছু।
- context
অনুসন্ধান কোথা থেকে করা হচ্ছে, যা এটি কি উত্তর দিতে পারে সেটি নির্ধারণ করে। প্রেরিত প্রেক্ষাপট: default, header, form_field
- type
উত্তরকে একটি প্রকারে সীমাবদ্ধ করে — একটি সত্তার নাম, অথবা একটি প্রদানকারী কীগুলির।
- length
কতগুলো ফলাফল। অনুপস্থিত হলে, বান্ডল কনফিগারেশন নির্ধারণ করে।
curl "/api/search-result/list?search=dupont&context=header&length=5"
অনুবাদ
বারটি উপাদানের চারটি দিক থেকে তার নিজস্ব লেবেল পড়ে, তাই একটি প্লেসহোল্ডার কখনও মার্কআপে লেখা হয় না। ফলাফলের শিরোনাম, অন্যদিকে, রেকর্ডের নিজস্ব বা রুটের নাম থেকে আসে — সেগুলোর অনুবাদ এখনও সংযুক্ত হয়নি, এবং একটি পৃষ্ঠা বর্তমানে তার রুটের নাম মানবায়িতভাবে প্রদর্শন করে।
# assets/components/search-bar.fr.yml
placeholder: Rechercher...
empty: Aucun résultat.
pending: Recherche en cours...