Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Rättstavning

Postades av 2005-03-01 09:51:52 - Jerry Johansson, i forum sql-server/msde, Tråden har 17 Kommentarer och lästs av 966 personer

Hej

Jag vill kunna rättstava ord och siffror men vet inte hur jag skall göra...
Har alla ord som är rätt i en tabell
har testat DIFFERENCE funkar inget bra...
har även testat SOUNDEX funkar inte heller bra får ex upp berg(soundex B620) på sökning på boras(soundex B620)...

Skall funka så här:
söker jag på ex "boras" så skall man få förslaget "borås".
ungefär som Google

Kör SQL 2000 Server och asp.net
om inte går att lösa i sql så kanske man kan lösa det i asp.net?


Svara

Sv: Rättstavning

Postades av 2005-03-02 03:14:00 - Göran Andersson

Har du testat LIKE?

I värsta fall skulle det väl gå att bygga en fråga som gör:

where fältet LIKE '_oras' or fältet LIKE 'b_ras' or fältet LIKE 'bo_as' or fältet LIKE 'bor_s' or fältet LIKE 'bora_'


Svara

Sv:Rättstavning

Postades av 2005-03-02 09:23:46 - Jerry Johansson

Det kommer ju inte heller att funka för det är inte säkert att borås finns i databasen
i detta fall finns ordet
men man kanske skriver boorås och då hittar den inget.


Svara

Sv: Rättstavning

Postades av 2005-03-02 09:53:22 - Johan Svensson

Att få till en sådan här funktion bra, kan nog vara lite klurigt...

Mitt tips är följande process:

1. Lägg in alla ord som har samma längd +- 1 tecken i en temporär tabell

2. I denna temporära tabell har du en extra kolumn med hur många bokstäver som överensstämmer som du således räknar ut och lägger in i denna kolumnen, ex. booras matchar borås med 4 tecken medan bärs matchar borås med 3 bokstäver.

3. Sortera ut de ord som ha flest matchande bokstäver och sätt poäng efter hur många bokstäver av de som matchar som ligger i rätt följd. T.ex. booras skulle få 4 poäng eftersom alla fyra matchande bokstäver ligger i rätt ordning, medan sober bara skulle får två poäng eftersom b och r är de enda som fölljer i någorlunda rätt ordning.

4. Lägg nu till ett halv poäng för varje kombination där två bokstäver bytt plats så att de matchar, t.ex. broas liknar boras om man byter plats på r och o så här har man 4 poäng från föregeående steg och ytterligare en halv från detta steg

5 Summera nu poängen och presentera det (eller de) som har högst poäng


Det finns säkert effektivare algoritmer, men jag tror att man komemr en bra bit med denna metod. Sedan kan man ju alltid välja att doktorera på denna typ av matchningar och då tror jag man lyckas ännu bättre... ;-)


Lycka till!

// Johan


Svara

Sv:Rättstavning

Postades av 2005-03-02 11:25:12 - Jerry Johansson

Hur skall jag få fram hur många tecken som stämmer ?


Svara

Sv: Rättstavning

Postades av 2005-03-02 12:34:10 - Johan Svensson

Kolla på CONTAINS i T-SQL hjälpen.


Svara

Sv:Rättstavning

Postades av 2005-03-02 13:15:59 - Jerry Johansson

Om man skall använda det så måsta man ju göra en Full-Text Indexering eller ?
Jag försökte skapa det men fick felmedelandet "The selected table has no unique single column index on a column that does not allow NULLS."
och jag har skapat olika index och provat fram och tilbaka men får det inte till att funka.


Svara

Sv: Rättstavning

Postades av 2005-03-02 14:23:30 - Johan Svensson

Mmmm, det stämemr nog. Om jag minns rätt så måste man ha full text indexering.


Svara

Sv:Rättstavning

Postades av 2005-03-02 14:35:30 - Jerry Johansson

Så hur gör man då?
Tror inte jag kan skapa ett full-text indexering på mitt webhotell men om jag kan hur gör jag för att skapa det?
i annat fall finns det något annat sätt att kolla vilka bokstäver som är rätt?
kan man loppa ut alla tecken i söksträngen och kolla med dem imot ordena på något sätt?


Svara

Sv: Rättstavning

Postades av 2005-03-02 16:35:45 - Johan Svensson

Nu vet ju inte jag förstås hur ditt webbhotell fungerar, men rimligt är att du har kontroll över din(a) databaser, men naturligtvis inte kan ändra andras databaser. Så under förutsättninga tt du har kontroll på dina databaser så kan du köra (för att få igång full-text indexering):

<code>
USE MyDatabase
EXEC sp_fulltext_database 'enable'
</code>


EDIT: Från hjälpfilen:
Only members of the sysadmin fixed server role and db_owner fixed database role can execute sp_fulltext_database.


Lycka till!

// Johan


Svara

Sv:Rättstavning

Postades av 2005-03-14 16:50:30 - Jerry Johansson

Så nu har jag gjort en full-text indexering på en column i min tabell som jag skall jämföra imot.
så skriver jag
<code>SELECT ord FROM Tabell WHERE CONTAINS(ord, 'b')</code>
men får felmeddelandet:
Execution of a full-text operation failed. A clause of the query contained only ignored words.

Om jag därimot skriver
<code>SELECT ord FROM Tabell WHERE CONTAINS(ord, 'bo')</code>
så får jag inget felmeddelande men inget resultat

vad är fel?
Jag måste ju söka på en bokstav för att kunna få ut om den finns i ordet.

En annan grej hur skall jag kolla vilken bokstavs position som överensstämmer ?


Svara

Sv: Rättstavning

Postades av 2005-03-15 00:00:51 - Pelle Johansson

Där tror jag indexserverns regler går in. Att ange för få bokstäver, ex 1 st gör att den sparkar rakt ut. Det finns en ignore-word lista och regelverk som man kan koda om på sql-servern men aldrig provat. Det är minst sagt en hel vetenskap..


Svara

Sv:Rättstavning

Postades av 2005-03-15 08:45:06 - Mikael Wedham

Du måste söka på inledande text i ett ord, eller ett helt ord. Du kan alltså inte söka på 'b' och få alla ord som innehåller bokstaven b.
Rådet gäller: läs i hjälpen HUR CONTAINS är tänkt att användas, så får du en del tips.

/micke


Svara

Sv: Rättstavning

Postades av 2005-03-15 10:14:50 - Jerry Johansson

Jag har läst all hjälpen i sqlen om Contains och det står:
"A. Use CONTAINS with <simple_term>
This example finds all products with a price of $15.00 that contain the word "bottles."

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE UnitPrice = 15.00
AND CONTAINS(QuantityPerUnit, 'bottles')
GO"

Därför borde jag kunna skriva "CONTAINS(Ord, 'bo')" men jag får inga träffar hur långt sökord jag än har.
varför ?


Svara

Sv:Rättstavning

Postades av 2005-03-15 10:19:31 - Jerry Johansson

Det stämmer bra det hittade filen och den innehöll a-z med mera så det kanske inte är så smart att göra så här?


Svara

Sv:Rättstavning

Postades av 2005-03-15 12:46:15 - Mikael Wedham

<Därför borde jag kunna skriva "CONTAINS(Ord, 'bo')"
<men jag får inga träffar hur långt sökord jag än har.
<varför ?

För att du då måste söka på 'bo%' eller 'bo*'. Som du skriver, hittas alla förekomster av EXAKT 'bo' och inget annat.


/micke


Svara

Sv: Rättstavning

Postades av 2005-03-15 13:31:41 - Jerry Johansson

Jag har testat det med men det hjälper inte

<code>C. Use CONTAINS with <prefix_term>
This example returns all product names with at least one word starting with the prefix choc in the ProductName column.

USE Northwind
GO
SELECT ProductName
FROM Products
WHERE CONTAINS(ProductName, ' "choc*" ')
GO</code>
står det i hjälpen

Kan jag har gjort fel på full-text indexeringen eller något annat i databasen ?


Svara

Sv:Rättstavning

Postades av 2005-03-15 15:23:47 - Mikael Wedham

Om du indexerat ProductName i Northwind, och startat population av den, så skall du få ett svar (en rad) på den frågan ("cho*")

Får du inget svar, så har du inte gjort rätt.

MEN!!! Om du kör XP, så vill inte Fulltextindexeringen vara med. Du måste köra Windows 2000/2003 Server för att det skall funka.

/micke


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 619
27 953
271 709
481
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies