วิธีที่ดีที่สุดในการรับแท็กส่งคืนจากคำสั่ง sql SELECT

ฉันสร้างไคลเอนต์ผู้ช่วยเสมือนสำหรับโครงการในมหาวิทยาลัยของฉัน และมีปัญหาเล็กน้อยในการรับแท็กคืนตามสตริงที่ตรงกัน ระบบทำงานดังนี้: 1. การป้อนข้อมูลคำพูดของผู้ใช้จะถูกแปลงเป็นสตริง 2. จากนั้นสตริงจะถูกจับคู่กับคอลัมน์ในตาราง 3. คอลัมน์ที่ตรงกันส่งคืนรหัส ซึ่งจะส่งคืนแท็กสองแท็กจากตารางอื่น

ปัญหาคือการโทรหาใครสักคน จะต้องทำอย่างไร? ฉันหมายถึงว่าผู้ใช้จะพูดประมาณนี้: "โทรหาอารียา" ในที่นี้ฉันไม่สามารถกำหนดคำสั่งล่วงหน้าสำหรับแต่ละคนได้ ดังนั้นฉันจึงต้องใช้ตัวเลือก "MATCH" หรือ "LIKE" ใน SQL แต่ถ้าฉันใช้ตัวเลือกเหล่านี้ มันจะคืนแท็กให้ฉันเพื่อบอกว่ากำลังเปิดแอพ Facebook แม้ว่าฉันจะแค่ "facebook" เท่านั้น เนื่องจากคำสั่งสำหรับ Facebook จะเป็น "เปิด Facebook" หรือ "เรียกใช้ Facebook"

ดังนั้นจะแก้ไขอย่างไร กรุณาช่วย.


person dw19    schedule 21.11.2014    source แหล่งที่มา
comment
คำถามของคุณไม่ชัดเจนมาก ฉันไม่สามารถแยกแยะได้ว่าคุณกำลังพยายามสร้างคำสั่ง sql หรือสร้างคีย์เวิร์ดสำหรับการควบคุมด้วยเสียงของคุณ โปรดโพสต์โค้ดที่คุณประสบปัญหาและผลลัพธ์ที่คาดหวังควรเป็นอย่างไร   -  person crthompson    schedule 21.11.2014
comment
ฉันขอโทษเกี่ยวกับเรื่องนั้น ฉันต้องการสร้างคำสั่ง SQL เพื่อให้สามารถรับแท็กสำหรับการโทรหาบุคคลโดยการค้นหาคำหลักบางส่วน แต่ฉันต้องการให้มันไม่ส่งคืนแท็กให้ฉันเพื่อเรียกใช้แอปเมื่อฉัน พูดชื่อแอพนั้นว่าฉันไม่ต้องการเปิดแอพเมื่อผู้ใช้แค่บอกว่า Facebook หรือแม้แต่เปิดก็จะส่งคืนแท็กบางส่วน หวังว่านี่จะสมเหตุสมผล   -  person dw19    schedule 21.11.2014
comment
มันสมเหตุสมผลแล้ว แต่การจะตอบได้อย่างมีประสิทธิภาพนั้นยังกว้างเกินไป ฉันไม่มีพื้นฐานสำหรับสิ่งที่คุณทำหรือระดับทักษะของคุณที่จะทำ โดยปกติวิธีการจัดการสิ่งนี้คือการใช้คำหลัก คีย์เวิร์ด (เช่น การโทร) จะกระตุ้นให้แอป (หรือเธรด) เรียกใช้ Sounds กับฉันเหมือนกับว่าคุณต้องสร้างรายการคำที่จะแยกออก จากนั้นจึงค้นหาอย่างอื่นทั้งหมด คุณอาจสนใจหนึ่งในคำตอบก่อนหน้าของฉัน   -  person crthompson    schedule 21.11.2014
comment
ฉันเป็นมือใหม่ในฐานะโปรแกรมเมอร์ สิ่งที่ฉันอนุมานได้คือ ฉันสามารถมีตัวกรองแยกต่างหากที่สร้างขึ้นใน java ซึ่งมีแนวโน้มที่จะเรียกใช้ฟังก์ชันโดยเฉพาะเป็นกรณีพิเศษ และสำหรับทุกสิ่งทุกอย่างฉันสามารถมีวิธีฐานข้อมูลนั้นได้ เหตุผลที่ฉันไม่ต้องการใส่คำสั่งทั้งหมดลงใน java ก็คือฉันคิดว่ามันไม่ใช่วิธีแก้ปัญหาที่ดีเนื่องจากไม่เป็นไปตาม DRYness ฉันหวังว่าฉันพูดถูก   -  person dw19    schedule 21.11.2014
comment
ฉันไม่รู้ว่าการใช้งานตามที่คุณอธิบายเป็นไปตามสิ่งใดหรือไม่ เพราะไม่ได้นำไปใช้ ฉันขอแนะนำให้คุณเขียนอะไรบางอย่าง หากคุณมีข้อบกพร่อง โพสต์ไว้ที่นี่ หากต้องการทราบว่าคุณทำได้ดีกว่านี้หรือไม่ โปรดดูการตรวจสอบโค้ด   -  person crthompson    schedule 21.11.2014
comment
แน่นอนว่าเมื่อฉันได้ดำเนินการทุกอย่างแล้ว ฉันจะโพสต์โค้ด @CodeReview ขอบคุณสำหรับคำแนะนำ   -  person dw19    schedule 21.11.2014