Full Text returns wrong results for Turkish

XMLWordPrintableJSON

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

      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 (Inactive)
            Reporter:
            Mark Benvenuto
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: