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

Full Text returns wrong results for Turkish

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Duplicate
    • Affects Version/s: 3.0.0-rc7
    • Fix Version/s: None
    • Component/s: Querying
    • Labels:
      None
    • Operating System:
      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

          Issue Links

            Activity

              People

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

                Dates

                Created:
                Updated:
                Resolved: