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

Full Text returns wrong results for Turkish

    • Type: Icon: Bug Bug
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: 3.0.0-rc7
    • Component/s: Querying
    • None
    • ALL

      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" }
      

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

              Created:
              Updated:
              Resolved: