提问人:Mahmoud M. Abdelmalek 提问时间:7/3/2022 更新时间:7/6/2022 访问量:55
使用Match Againt MySQL和PHP从文本中提取句子
Extract Sentence from Text Using Match Againt MySQL and PHP
问:
我目前正在开发一个基于PHP和MySQL的阿拉伯语图书网站 我有以下查询
SELECT page_content FROM `book` WHERE MATCH(page_content) Against('رائد' IN BOOLEAN MODE)
当用户搜索特定文本时,我们会运行此查询,它会成功从所有可用书籍中获取匹配的单词,但是, 我们连续拥有本书的每一页,问题是查询获取整个页面内容文本,现在我们想获得确切的搜索词(第一次出现)+ 5 个单词之后和 5 个单词之前
例如
المقالة نوع من الأدب، هي قطعة إنشائية، ذات طول معتدل تُكتب نثراً، وتُهتمُّ بالمظاهر الخارجية للموضوع بطريقة سهلةٍ سريعة، ولا تعنى إلا بالناحية التي تمسُّ الكاتب عن قرب.رأى النور في عصر النهضة الأوروبية، واتخذ مفهومه من محاولات التي أطلق عليها اسم Essais، و“الفصل” (صيد الخاطر) كما عرفه العرب أقدم رائد للمقالة في الآداب العالمية، ذلك أن الفصل في الأدب العربي قد ظهر قبل ظهور مقالات مونتاني إمام هذا الفن غير مدافع بين الأوروبيين، فقد ظهر فن المقالة لأول مرة في فرنسا سنة 1571م، ثم ظهر بعد ذلك ببضع عشرة سنة في كتابات فرانسيس بيكون، ثم أصبحت المقالة منذ ذلك الحين فناً إنكليزياً شائعاً بين قراء الإنكليزية مع سبق الفرنسيين إليه.
因此,当用户搜索رائد时,他们只会得到 (صيد الخاطر) كما عرفه العرب أقدم رائد للمقالة في الآداب العالمية 我尝试使用而不是整个页面文本
- SUBSTRING_INDEX
- 子
- 位置
但有时用户可能会写رأئد而不是رائد,MySQL匹配查询将正确获得结果,但位置和子字符串不会得到相同的结果。
问题是如何将位置和子字符串与匹配查询一起使用,以获取第一次出现的位置,并获取后面的 5 个单词和之前的 5 个单词
答:
上一个:显示不同表中的名称而不是 ID
评论