Я создаю, "сделал Вы имеете в виду" funcionality на внутренней поисковой системе, с помощью aspell и php (php-pspell).
У меня есть каталог продуктов, и я хочу, чтобы названия тех продуктов были также словами в словаре, таким образом, "сделал Вы имеете в виду", может suggest'em.
Проблема состоит в том, что, когда я пытаюсь создать пользовательский словарь с PHP Pspell функции, я получаю ошибки, когда слова содержат символы, которые не находятся в диапазоне a-z, как числа, hifens, и т.д.
Например:
iphone 3gs: iPhone добавляется гладко, но 3gs не
Blu-ray: не может быть добавлен из-за -
Действительно ли возможно добавить такое слово в словаре? Или aspell просто не принимают их?
Кортежи (в отличие от списков) являются хешируемыми . Это то, что позволяет кортежам быть ключами в словарях, а также членами наборов. Строго говоря, их хешабильность, а не неизменность имеет значение.
Так что в дополнение к уже приведенному ответу на ключ словаря, несколько других вещей, которые будут работать для кортежей, но не списки:
>>> hash((1, 2))
3713081631934410656
>>> set([(1, 2), (2, 3, 4), (1, 2)])
set([(1, 2), (2, 3, 4)])
-121--3464957- На самом деле, ваш POM неправильно, это не хватает существенных частей. Вам нужно хотя бы что-то вроде этого (это минимальный POM):
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.myproject</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>My App</name>
</project>
Чтобы добавить зависимость пружины, я тогда предлагаю использовать следующее:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.myproject</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<name>My App</name>
<properties>
<org.springframework.version>3.0.0.RELEASE</org.springframework.version>
</properties>
<dependencies>
<!--
Core utilities used by other modules.
Define this if you use Spring Utility APIs (org.springframework.core.*/org.springframework.util.*)
-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${org.springframework.version}</version>
</dependency>
</dependencies>
</project>
Для полного списка артефактов весны, посмотрите на Получение артефактов весны 3 с Maven и выберите то, что вам нужно.
Обновление: К вашему сведению, существуют многочисленные поисковые системы репозитория , которые могут помочь вам найти артефакты. Это может быть полезно, если ты не привык к Мейвену. Также обратите внимание, что вы можете получить некоторую поддержку IDE для этого (Idea, Eclipse, NetBeans, я думаю, что все они предлагают функцию поиска в репозитории). На самом деле, в вашем случае я бы предложил использовать SpringSource Tools Suite (STS), который является интегрированной версией Eclipse (объединяя некоторые плагины для разработки проектов Spring, включая поддержку Maven). STS - это полностью интегрированная среда, очень близкая к тому, что вы можете получить в .NET world IMO. Тебе понравится.
-121--3853689-Лучший способ сделать это - заменить специальные символы, включая пробел, некоторой последовательностью клавиш. скажем, xxx. Вы должны сделать это для всех символов вне тех, которые aspell принимает.