KWIC в текстовой базе данныхMySql

Форум по Mysql
Ответить
Anonymous
 KWIC в текстовой базе данных

Сообщение Anonymous »

В текстовой базе данных каждое слово текста находится в одной строке, и имеет свой уникальный идентификатор, который определяет последовательность. БД статичен, текст не будет изменен, вставки или удаления не будут сделаны. Так что это выглядит так: < /p>
tableName = "text" < /p>
Id | Word
---------
1 | The
2 | texts
3 | articles
4 | and
5 | conversations
6 | are
7 | brief
8 | and
9 | appropriate
10 | for
11 | all
... | ...
< /code>
Теперь пользователь должен иметь возможность выполнять поиск KWIC (ключевое слово в контексте), результат должен быть, например, Когда пользователь ищет «разговоры», а контекст составляет 2 (то есть 2 слова слева и 2 слова справа), результат должен быть «статьи и разговоры - краткие». Если они ищут «и» в данном примере, и контекст снова 2, они должны получить оба «текстовых статей и разговоров», а «и» - это краткие и подходящие для ».SELECT * FROM text
WHERE Id
BETWEEN ((SELECT Id FROM text WHERE Word='conversations') - 2)
AND ((SELECT Id FROM text WHERE Word='conversations') + 2)
< /code>
Это работает нормально, но только если поисковое слово происходит только один раз в тексте. (Это имеет место с «разговорами».) Если поисковый термин происходит несколько раз в тексте (например, если «разговоры» в запросе заменяются «и»), он вылетает, вероятно, потому что результат внутренних выборов в этом случае не является одним идентификатором, а списком идентификаторов. Я был бы признателен, если бы кто -то мог дать мне совет о том, как справиться с несколькими случаями поискового термина. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/797 ... t-database
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»