Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-17165

Full Text returns wrong results for Turkish

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Major - P3 Major - P3
    • None
    • 3.0.0-rc7
    • Querying
    • None
    • ALL

    Description

      When we lower case Turkish words, we use English rules to lower case the words instead of Turkish rules. In Turkish, the lower case form of "I" is "ı" not "i" (Note the lack of dot in the font glyph).

      Load Script:

      db.turk.drop()
       
      db.turk.insert({ _id: "small_dotless", t1 : "quıt" })
      db.turk.insert({ _id: "small_dot", t1 : "quit" })
      db.turk.insert({ _id: "big_dotless", t1 : "QUIT" })
      db.turk.insert({ _id: "big_dot", t1 : "QUİT" })
       
      db.turk.ensureIndex( { t1 : "text"} , {default_language : "turkish" })

      Actual Results:

      > db.turk.find( {$text: {$search: "quit" }})
      { "_id" : "small_dot", "t1" : "quit" }
      { "_id" : "big_dotless", "t1" : "QUIT" }

      Expected Results:

      > db.turk.find( {$text: {$search: "quit" }})
      { "_id" : "small_dot", "t1" : "quit" }
      { "_id" : "big_dot", "t1" : "QUİT" }

      Attachments

        Activity

          People

            matt.kangas Matt Kangas
            mark.benvenuto@mongodb.com Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: