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
    • 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: